שיא הסי-ים יורם ביברמן כל הזכויות שמורות למחבר. אין לעשות כל שימוש מסחרי בספר זה או בקטעים ממנו. ניתנת הרשות להשתמש בו לצורכי לימוד של המשתמש בלבד.

Size: px
Start display at page:

Download "שיא הסי-ים יורם ביברמן כל הזכויות שמורות למחבר. אין לעשות כל שימוש מסחרי בספר זה או בקטעים ממנו. ניתנת הרשות להשתמש בו לצורכי לימוד של המשתמש בלבד."

Transcription

1 שיא הסי-ים (C/C++) מאת: יורם ביברמן כל הזכויות שמורות למחבר. אין לעשות כל שימוש מסחרי בספר זה או בקטעים ממנו. ניתנת הרשות להשתמש בו לצורכי לימוד של המשתמש בלבד. ינואר 211

2 ליעננ שבכל אחד מאיתנו, לנ. של כולנו ולמאבק איתם ובהם ב ע ר ב כ ש אָמ ר ה ל י נ ע ר ת י ל ך י ר ד ת י ל ר חוֹב ל ה ת ה ל ך ו ה י ית י הוֹל ך וּמ ס ת ב ך מ ס ת ב ך ו הוֹל ך ו הוֹל ך ו הוֹל ך וּמ ס ת ב ך (נתן זך) 2

3 מבוא עודכן 9/9 ספר זה מסכם את הניסיון (תרתי משמע) המצטבר של כותב שורות אלה להורות את הקורס (ובהוראת הקורס) מבוא למדעי המחשב (הנקרא גם מבוא לתכנות). ניסיוני לימד אותי כי קורס זה הינו פרדוקסאלי במובן זה שלכאורה אף תלמיד ממוצע משנה ג' מסוגל היה, לכל הפחות מבחינת חומר הלימוד, ללמד את הקורס על נקלה, אך למעשה רבים וטובים מתקשים להנחיל את החומר המועבר בו לתלמידיהם. מניסיוני שלי אני יכול להוסיף, שאף ששנים רבות של הוראת הקורס מאחורי, אני ממשיך כל העת לשפר את כישור י. להרגשתי, הסיבה לפרדוקסאליות היא שרכישת המיומנות התכנותית מחייבת את הלומד בביצוע 'קפיצה' בלתי ניתנת להסבר, כלומר בביצוע מעבר לא רציף ממצב של מי שאינו יודע לתכנת, לכדי מי שמסוגל 'לחשוב תכנותית', במילים אחרות לתרגם, כמעט מבלי משים, משימה המנוסחת במונחים מילוליים, לכ די תכנית מחשב. הפער בין שתי העמדות הוא כמעט בלתי ניתן להבנה, או לאמפתיה (הן מצד זה, והן מצד זה), ולכן קשה עד מאוד למתכנת מיומן להיכנס לנעליו של זה מקרוב בא, באותה המידה שקשה ומתסכל ל תלמיד הנבוך לרכוש את המיומנויות הדרושות, שכן אין כל דרך ברורה שאם יפסע בה הוא מובטח שיגיע למטרה ; על המתכנת הצעיר פשוט לטעות, טעייה כואבת, במבוך התכנותי עד שילמד את רזיו. חוששני גם שלא לכל עמיתי המלומדים יש את אורך הרוח ללוות את תלמידיהם הנבוכים במסעם, בה במידה שלא לכל התלמידים יש את אורך הרוח, יכולת ההתמדה, והנכונות ליפול ולקום עד שהם ילמדו לזחול, ללכת, ולבסוף גם לרוץ. על- כן אני משתדל לחקוק הן על לוח לבי והן על זה של תלמיד י את המאמר "לא הבישן למד, ולא הקפדן מלמד". ל תלמיד בראשית דרכו עלי לומר מייד, ייתכן שחומר הלימוד שיופיע בהמשך יהיה נהיר לך 'כספר הפתוח', וייתכן שלא, ייתכן שהסבריו של המורה שילמד אותך יהיו פשוטים ובהירים, וייתכן שלא, בכל מקרה תגלה (למרבה המכאוב) כי קיים פער מפתיע ומתסכל בין היכולת להבין את תכניות המחשב שהוצגו בפניך, לבין היכולת לכתוב בעצמך תכניות. הדרך היחידה להתגבר על פער זה היא באמצעות תרגול, תרגול, תרגול. כל תכנית נוספת שתכתוב תקדם אותך יותר ממאה תכניות שתקרא, (קל וחומר מאלף קיטורים שתק ט ר). מסיבה זאת כללתי בספר תרגילים לא מעטים שיאפשרו לך לנסות, ועל-ידי כך להעצים, את כוחך שלך בכתיבת תכניות. בנקודה זאת, טרם שאנו צוללים לים התכנותי, ראוי להוסיף גם מילת אזהרה: דעו לכם שמי שרוצה לעסוק בתכנות צפוי לבלות שעות רבות, וקשות, על שטויות: נקודה פסיק (;) שנשמטה, כוכבית (*) שהוצבה שלא במקומה, ושאר טעויות פעוטות, שעת אנו נתקלים בהם במקומות אחרים אנו לכל היותר מחייכים, ונדים בראשנו, אך בתכנית מחשב הם יכולים לעשות את כל הפער בין איגרא רמא, לבירה עמיקתא. בשעה יפה זאת של התחלה, עת כולנו נרגשים, ועם חיוך מנצח על השפתיים שהגענו עד הלום, אני רוצה להזהיר אתכם שכבר ראיתי לא מעט תלמידים עם דמעות בעיניים ומשוּכנעוּת בלב שהמחשב החליט באופן אישי ונחרץ להוציאם מדעתם, ויהי מה, שכן העו ולות שהוא מעולל להם (בדרך כלל בשעות הקטנות של הלילה) הן באמת מעל ומעבר לכל דמיון. לכל מי שייקלע למצב זה אני רוצה לומר כבר עתה שאכן לעיתים התנהגותו של המחשב יכולה להיות אכזרית טירון, אך שהוא שומר לעצמו את הזכות לנהוג כך אך ורק כלפי מי שהוא חש שהינו, שאצבעותיו עוד לא מיומנות בנגינה על המקלדת. כלפי מנוסים יותר הוא, בחיים, לא יעז לנהוג כך. על כן העצה היחידה היא לחרוק שיניים ולהמשיך לשחות. 3

4 לעיתים, אם הדבר אפשרי, עצה ממתכנת מעט יותר מנוסה עשויה לחסוך לכם כאב רב, אולם אין מנוס מלהתמודד עם הקשיים בכוחות עצמכם; רק כך תלמדו. צדו השני של המטבע הוא שלהתרשמותי אך מעטים 'אינם בנויים' או 'אינם מתאימים' לתחום המחשבים. מט בע הדברים יש מי שהדברים הולכים לו פחות בקושי, ויש מי שהם הולכים לו יותר בקושי, אולם, לדעתי, לא נדרש כשרון ייחודי כלשהו, ורוב מי שיתאמץ מספיק, וית ר גל מספיק, בסוף גם יצליח. ראיתי כבר לא מעט תלמידים שנראו לי בינוניים בכישוריהם, אך עם כוח רצון עז, ששרדו, ולעומתם תלמידים מבריקים שלא הייתה להם הנכונות לשאת בעול הסיזיפי לעיתים ו ויתרו. בה ק שר זה אני רוצה גם לומר שאם אתם רואים מישהו יושב מול המחשב עם חיוך נינוח על השפתיים, תוך שהוא מפזר לצדדים הערות מזלזלות על התכנית שיש לכתוב דעו שהוא : (א) משקר, או (ב) כבר היה בעבר במקום בו אתם מצויים עתה, ועל-כן עתה הוא כבר קדימה יותר; כל כמה שזה נראה לכם לא אפשרי, תוך זמן מה גם אתם תתייחסו לתכניות שנראות לכם עתה מחסום בלתי עביר, כאל משימה פשוטה למדי. בנוגע לכתיבת תכניות. מהיכרותי את טבע האדם, והסטודנט, אני יודע שעת תלמיד מתבקש להתמודד עם תרגיל חדש, על חומר שזה עתה נלמד, הוא, בדרך כלל, פועל בשיטת שלושת השלבים: (א) הוא מציץ בדף התרגיל, ומזדעזע קשות מאכזריותו של מי שניסח אותו. (ב) הוא דוחף את דף התרגיל עמוק ככל שניתן לת יקו, ומשתדל, בדרך כלל בלי הצלחה יתרה, לשכוח ממנו לכמה זמן, עד שהוא יירגע מהתרגיל הקודם. (ג) מספר ימים לפני מועד ההגשה הוא שולף בכאב לב את דף התרגיל ומנסה להתמודד א תו; אך אז כבר אין די זמן לאתר את המורה ולהתייעץ עמו, יש לעבוד בשעות בהם הדעת כבר אינה צלולה, ומק דם הלחץ כבר בשיאו, במיוחד שמסביב כבר נשמעים דיבורים של תלמידים שלכל הפחות נשמעים כמי שכמעט סיימו את העבודה על התרגיל. כאן עלי להזהירכם משני כשלים נוספים: (א) לעולם אל תעתיקו תרגיל, אל 'תציצו' בתרגיל של חבר 'רק כדי לקבל רעיונות', ואל תעבדו עם חבר ששולט בחומר טוב מכם וש- 'רק יסייע לכם'. אתם יורים כך לעצמכם כדור ברגל! מורה הקורס עייף מלשבת ב-'משפטי שלמה' כאלה או אחרים בהם עליו להכריע מי כתב תכנית כלשהי, ובאיזה מידה הוא עשה זאת באופן עצמאי. מנגד, כמיטב יכולתנו אנו מנטרים את הנושא ובמידת הצורך מקשים את לבנו, ומענישים בחומרה את מי ששגה. (ב) לעולם אל תתנפלו על המחשב טרם שכתבתם את התכנית בנחת על דף עם עפרון ומוחק. רק אחרי שכתבתם, תיקנתם, שיניתם, ואתם משוכנעים שהפעם יצאה תחת ידכם יצירת מופת שאפילו מחשב אכזרי ייאלץ להודות שהיא מושלמת, הדליקו את המחשב. סביר להניח שתגלו שעדיין יש בתכניתכם שגיאות רבות, אך מנגד שיש בה כבר גם גרעין של תכנית סבירה שניתן לשפץ. התנפלות על המחשב עם תכנית שלא נבדקה על-ידכם בראשכם שוב ושוב, היא מתכון לתסכול, זעם, ובמקרה הטוב לתכנית מסורבלת שנראית כמו טלאי על טלאי (ובמקרה הרע לקטסטרופה). הקפידו עד מאוד להגיש את כל התרגילים הניתנים לכם. הניסיון מלמד שתלמיד שלא הגיש שני תרגילים רצופים יכול לראות את עצמו כמי שמצוי עם יותר מאשר רגל אחת בחוּץ. בקורס זה נלמד את שפת ++C או ליתר דיוק חלק משפה זאת. שפת ++C היא שפה עשירה מאוד, ועל כן בזמן המוקצה לקורס זה לא נוכל, וגם לא נזדקק, להיכרות מלאה עמה. יחד עם זאת אני ממליץ לתלמיד השקדן, בהמשך הדרך, אחרי שהיכרותו עם המרכיבים הבסיסיים של השפה תשתפר, לקרוא בספרים, וללמוד את היבטים נוספים של השפה, וכל המרבה הרי זה משובך. בפרט ובמיוחד לא נכיר חלק לא מבוטל של השפה המאפשר תכנות בגישה הקרויה 'תכנות מונחה עצמים ' Programming).(Object Oriented בקורס זה נתמקד בגישה תכנותית הקרויה 'תכנות 4

5 מודולארי' Programming).(Modular נראה לנו כי מכיוון שבעולם התכנות קיימות פרדיגמות שונות, והתכנות המודולארי הוא פרדיגמה חשובה, אזי מתאים להיכנס לעולם התכנות דרך שער זה, ואת הגישה מונחית העצמים להותיר לקורס המשך, בפרט לכזה במבני נתונים, בו גם טבעי לתכנת עם אובייקטים. מנגד, ב קורס לא נסתפק רק בהיכרות עם שפת ++C אלא נשאף לרכוש את מיומנות התכנות המודולארי. מניסיוני, רכישת צורת החשיבה המודולארית היא אחד האתגרים המרכזיים הניצבים בפני התלמיד, אחרי שהוא התגבר על האתגר הבסיסי של השימוש בפקודות שמעמידה לרשותו השפה. כאמור, ב קורס נלמד את שפת ++C. למעשה מרביתו המוחלטת של החומר שילמד משותפת לשפת ++C ולשפת C, ורק כמה נושאים משניים שנכיר נכללים בשפת ++C, אך לא בשפת C. דווקא הנושא כמעט הראשון שנכיר: קלט ופלט, שייך לרשימת הנושאים בהם השפות נבדלות זו מזו; ולמעשה אחת הסיבות המרכזיות בגינן החלטתי ללמד בקורס הנוכחי את שפת ++C היא כדי לחסוך מהסטודנט הנבוך, את המפגש עם פקודות הקלט\פלט המכוערות של שפת C כבר בתחילת דרכו. מעבר לנושא זה קיימים עוד כמה נושאים שוליים בהם השפות נבדלות (משתנים מטיפוס,bool פרמטרי הפניה, קבועים); עת נגיע לנושא כזה אציין זאת מפורשות. אומר זאת אחרת: להערכתי, תלמיד שירכוש שליטה בחומר הנלמד בקורס הנוכחי צריך להיות מסוגל יחסית בקלות ובזריזות לעבור לתכנת בשפת C. כמות ההתאמות או השינויים שידרשו ממנו יהיו מעטים. הקורס בו אנו עוסקים נקרא מבוא למדעי המחשב, ולא קורס בשפת ++C, או קורס בתכנות; ולא בכד י. חלקים נרחבים מהקורס מוקדשים לנושאים נוספים במדעי המחשב; בעיקר להיכרות עם מבני נתונים שונים, אלגוריתמים, ושאלת זמן הריצה של תכניות. חלק מרכזי של הקורס עוסק באלגוריתמים רקורסיביים שונים, ובטיפול בסיסי במבני נתונים כגון רשימות ועצים. ההיכרות עם הנושאים הכלליים נעשית תוך התמקדות במימושם בשפת ++C. המטרה היא להביא את התלמיד לכדי מיומנות תכנותית מעמיקה בנושאים אלה, ולצ דה להיכרות בסיסית עם ההיבטים התיאורטיים שלהם. ההיבטים התיאורטיים נלמדים בצורה לא פורמאלית, תוך 'נפנוף ידיים' מתוך תקווה שכך נקל יהיה עליכם לקבל את האינטואיציה הדרושה, אותה תבססו בהבנה פורמאלית יותר של הנושאים בקורסים עתידיים. נושא נוסף שנלמד בצורה די יסודית הוא אופן הקצאת הזיכרון לתכניות. השאיפה היא להקנות לתלמידים הבנה עקרונית של האופן בו מוקצה זיכרון על הערמה ועל המחסנית במהלך קריאות לפונקציות, ועת התכנית מקצה זיכרון דינמי. אחד הגורמים שהביאוני לכתיבת ספר זה הייתה התחושה ששפת ++C, יחד עם הנושאים הנוספים אותם יש צורך לכסות בקורס זה, רחבים מכדי שהזמן שעומד לרשותי בכיתה יאפשר לי להורות אותם ב נינוחות בה הייתי חפץ לעשות זאת. מכאן אני גוזר המ לצה ל תלמידים לקרוא את חומר הלימוד ב נינוחות, גם אם להרגשתכם באותה שעה, ההסברים בכיתה היו יחסית נהירים לכם; קל וחומר אם לאו. לא מן הנמנע שקריאה נינוחה תעזור לכם להבהיר נושאים שאולי אפילו לא הבחנתם שלא היו די ברורים לכם, או שלא כל השתמעויותיהם היו לנגד עיניכם. מסיבה זאת אני גם נוטה להמליץ לחזור ולקרוא בשנית נושאים אותם למדתם בעבר. ייתכן כי בשעה שלמדתם את החומר בראשונה היו היבטים משניים שבצוק העיתים לא הובנו על-ידכם די צרכם. עתה, שהחומר הבסיסי הוט מע על-ידכם טוב יותר, מן הסתם בעקבות תרגולו, תוכלו להתפנות לקלוט נקודות שלא נקלטו בסערת הקרב הראשונה. מנגד, אין טעם לעסוק בשינון החומר, או התכניות המוצגות, די להבינם. 5

6 אחת ההתלבטויות המרכזיות שעמדו בפני עת ניגשתי לכתוב ספר זה הייתה הבאה: אני מטיף לתלמידי הש כם והערב כי הנכס החשוב ביותר ע מו הם יכולים לצאת משערי האקדמיה הוא היכולת לקרוא חומר כתוב באנגלית. אני מוסיף כי הם יילמדו בבית-ספרנו נושאים רבים, מגוונים, ומעשירים. אחר הם ייבחנו על אותם נושאים, ואז הם יישכחו את תלמודם. מה אם כן יישאר ל תלמידים? מה הם בכל אופן יילמדו? הם יילמדו ללמוד. הם יעשירו את צורת החשיבה שלהם, ובדרך מסתורית כלשהי החומר הרב שהם יילמדו, ואחר יישכחו, יק ל עליהם ללמוד נושאים אחרים לגמרי, אשר יעסיקו אותם אחרי תום לימודיהם. אולם הבסיס ל יכולת ללמוד, הוא היכולת לקרוא; וכאשר במקומותינו אומרים 'היכולת לקרוא' אין הכוונה לקרוא את התנ"ך בשפת המקור (מעשה יפה כשלעצמו, אך לא רלוונטי לענייננו), אלא הכוונה היא לקרוא חומר טכני הכתוב באנגלית. ובכן, מחד גיסא אני מטיף לרכישת מיומנות הקריאה באנגלית, ומאידך גיסא אני מציע לתלמידים חומר בעברית. זו אכן דילמה. להגנתי אני אומר כי בסמסטר הראשון של שנת הלימודים הראשונה מגיעות לתלמידים הקלות והנחות מתוקף מעמדם כ- 'אפרוחים'. הנחות שהולכות ובטלות ככל שהם גדלים. עלי להודות שאיני חש שלם לחלוטין עם טענה זאת, ועל כן אני קורא לכם: למרות שהספר שלפניכם כתוב בעברית, ל מדו ובעיקר ה תרגלו לקרוא חומר באנגלית. זה מאוד חשוב! ומילה אחרונה לתלמידים שהחלו אך זה עתה ללמוד במוסד להשכלה גבוהה: כשאני הייתי בצבא, נהגו המ"כים לשאוג על הטירונים: "צאו מההלם!". המ"כים צדקו בכך שרבים מהטירונים אכן היו שרויים בהלם מסוים עם גיוסם לצבא, בשל המעבר החד מחיי התיכוניסט המצוי לזה של הטירון הבזוי. המ"כים שגו בכך שהם שאגו על הטירונים לצאת מההלם במקום לסייע להם בכך. להתרשמותי, גם תלמידי שנה א' מצויים בהלם מסוים סביב המעבר החד מהצבא, הטיול בחו"ל, או כל מקום אחר ממנו הם הגיעו, לחיים אקדמיים תובעניים מאוד (במיוחד בתחום המחשבים). מטבע הדברים, עם הזמן מסתגלים הסטודנטים למעמדם החדש, ואורך החיים הנגזר ממנו (שעות מול מסך המחשב, במקום מול זה של הסינימטק); אולם ההסתגלות דורשת זמן, ושלב מש ברי הינו בלתי נמנע. אלה שיכולים להרשות לעצמם, לפחות בסמסטר הראשון, להתרכז בלימודים, טוב יעשו אם יניחו בצד עיסוקים אחרים, לכל הפחות עד שייקלו מעט המים. לסיכום, אתם יוצאים מכאן למסע לא קל. מעניין, אולי גם מעשיר, אך כזה המבטיח לא מעט דם,יזע ודמעות. אני מודה שלא הייתי רוצה להתחלף אתכם, זה לא תענוג להיות תלמיד לתואר ראשון, בטח ובטח שלא במחשבים, ובטח ובטח ובטח שלא תלמיד שנה א' למחשבים. ומנגד, כשלעצמי, אני שמח על המקום בו אני ניצב, ושאליו לא יכולתי להגיע בלי להיות קודם גם במצבכם דרך צל חה. תודות והפצרות כתיבתו של ספר זה התאפשרה רק תודות לדורות של תלמידים שהניחו את ז קנם (מרצונם, או שלא מתוך בחירה) תחת תערו של כותב שורות אלה, וא פשרו לו לרכוש ולשכלל את ניסיונו. על-כן ראשונים לכל ראויים הם לתודתי. כמו כן רציתי להודות למורים הרבים שלימדו לצדי לאורך השנים, ותרמו לנושאים המוצגים בספר זה. בפרט אודה ל: דני ברנד, קלרה קדם, שוקי שגיב, מיכל פרנס, תמי וילנר, והצעירים חסרי המנוחה דן צפריר וגיל בז'רנו שגם הקציעו את שליטתי שלי בשפת ++C. ברבות השנים נוספו לקודמים גם: זיו בלשאי, מוטין פריימן, דני זובין שקידמוני עוד צעד. לבסוף אודה למוסדות להשכלה גבוהה השונים בהם שהיתי, ועודני שוהה, ושאפשרו לי להגיע עד הלום. 6

7 למרות המחשבה והעבודה הרבה שהושקעה בכתיבת ספר זה אין לי ספק שהוא כולל בחובו גם פגמים שונים ומשונים. אודה על כן לכל מי שיאות להאיר את עיני על קלה כחמורה: א. שגיאות כתיב, כתב, ניסוח או שפה. ב. חומר שאינו מוסבר בצורה די בהירה. ג. חומר שאינו מוסבר כלל וראוי היה שיוסבר. ד. חומר שמוסבר אולי כהלכה אך באופן שגוי! הערות תתקבלנה בברכה באמצעות הדואר האלקטרוני: 7

8 תוכנן עניינים.1 הקדמה הזיכרון המעבד שפת מכונה, שפת הרכבה, ושפה עילית האדיטור, והדיבגר מערכת ההפעלה ציוד המתחבר למחשב שפת C 1.8 האלגוריתם תכניות ראשונות תכנית ראשונה: מבנה תכנית, ופקודת הפלט...21 cout שורת ה- main()...int פקודת הפלט... cout שורת ה-...#include עימוד תכנית שניה: משתנים, טיפוסי משתנים ופעולות אריתמטיות משתנים (variables) פקודת ההשמה פעולות אריתמטיות המרת טיפוס טיפוסים מספריים נוספים פקודת הפלט cout 2.3 תכנית שלישית: פקודת הקלט,cin ותיעוד פקודת הקלט...cin תעופה של תכנית תיעוד (documentation) פקודת הפלט cout 2.4 תרגילים פקודות תנאי פקודת if (ללא 38...(else מוטיבציה דוגמה ראשונה לשימוש ב-...if תנאים גוש (block) 3.2 תוספת else הערכה מקוצרת של ביטויים בולאניים תנאים מקוננים מיון שלושה מספרים (גירסה א') מיון שלושה מספרים (גרסה ב') מיון שלושה מספרים (גירסה ג') שורשי משוואה ריבועית שרשרת של if ו-...else משתנים בולאניים הקשר בין ביטויים אריתמטיים לביטויים בולאניים פקודת switch 3.5 אופרטור ה-? תרגילים תרגיל מספר אחד: הצגת יום בשבוע תרגיל מספר שתיים: הצגת תאריך במילים תרגיל מספר שלוש לולאות

9 4.1 פקודת ה while דוגמות ראשונות הדפסת כפולותיו של מספר הדפסת לוח הכפל זמן ריצה של תכנית הדפסת מחלקי מספר בדיקה האם מספר ראשוני, ופקודת break מלולאה... 7 הדפסת מחלקיו הראשוניים של מספר ניחוש מספר שהמחשב הגריל, ומושג הקבוע...(const) 75 פקודת ה for בדיקה האם זוג מספרים טבעיים הם חברים... 8 הערות נוספות אודות פקודת ה-... for 83 פקודת ה do-while 86...continue תרגילים...87 תרגיל מספר אחד: מציאת שורשים שלמים תרגיל מספר שתיים: חישוב סדרת שתיים שלוש תרגיל מספר שלוש: הצגת מספרים ראשוניים עוקבים תרגיל מספר ארבע: חנות השטיחים תרגיל מספר חמש: חידת אותיות ומספרים תרגיל מספר שש: הצגת סדרת מספרים בשורות תרגיל מספר שבע: איתור מספר שהתכנית הגרילה תרגיל מספר שמונה: מספר הספרות הנדרשות להצגת מספר תרגיל מספר תשע: בדיקה האם מספר הינו פלינדרום תרגיל מספר עשר: ייצור פלינדרום ממספר נתון תרגיל מספר אחת-עשר: חישוב סטטיסטים שונים על סדרת מספרים תרגיל מספר שתיים-עשרה: חישוב רדיוס מעגל באופן איטרטיבי תרגיל מספר שלוש-עשרה: בדיקה כמה מספרותיו של מספר א' מופיעות במספר ב' מערכים חד-ממדיים מהו מערך דוגמות ראשונות לשימוש במערך מציאת האיבר המרבי במערך, והיכן הוא מופיע איתור האיבר המרבי ומופעיו בשיטת שני המעברים איתור האיבר המרבי ומופעיו בשיטת שני המערכים השוואת שני הפתרונות עיון חוזר בפקודת ההגדלה העצמית חיפוש במערך חיפוש במערך לא ממוין חיפוש במערך ממוין מיון בועות sort) (Bubble איתור מספרים ראשוניים בשיטת הכברה תרגילים תרגיל מספר אחד: תרגול פשוט של מערכים חד-ממדיים תרגיל מספר שתיים: סדרת שתיים שלוש תרגיל מספר שלוש: ניהול טבלה בליגת כדור-רגל תרגיל מספר ארבע: מיקום ציר במערך תרגיל מספר חמש: משולש פסקל תרגיל מספר שש: חישוב מספר צירים בפרלמנט תרגיל מספר שבע: מציאת חציון ושכיח תרגיל מספר שמונה: מציאת ערך מרבי במערך יוני-מודלי מערכים רב-ממדיים דוגמות ראשונות בדיקה האם מטריצה מהווה ריבוע קסם בדיקה האם מערך קטן משוכן במערך גדול איקס-עיגול נגד המחשב משתנים ברי-מנייה, משתנים מטיפוס...enum מערכים תלת-ממדיים איתחול מערכים תרגילים

10 6.8.1 תרגיל מספר אחד: איתור מסלול במערך תרגיל מספר שתיים: משחק אווירונים וצוללות תרגיל מספר שלוש: תכנית CAD-CAM פרימיטיבית תרגיל מספר ארבע: איתור תת-מערך רצוי בתוך מערך דו-ממדי תרגיל מספר חמש: פולינומים תרגיל מספר חמש: מציאת ערך המצוי בכל שורות מערך פונקציות דוגמות ראשונות דוגמה ראשונה לשימוש בפונקציה: זימון פונקציה, ביצועה, וחזרה ממנה דוגמה שניה לשימוש בפונקציה: פונקציה הכוללת משתנים לוקליים דוגמה שלישית: משתנים גלובליים (כאמצעי תקשורת בין התכנית הראשית לפונקציה) דוגמה רביעית: פרמטרים לפונקציה (באמצעותם התכנית הראשית והפונקציה יכולות לתקשר) דוגמה חמישית: שימוש פרמטרי הפניה parameters) (reference דוגמה שישית: פונקציה המחזירה ערך דוגמה שביעית: פונקציה עם פרמטר משתנה, המחזירה ערך פונקציות הכוללות לולאות פונקציה המחזירה את סכום מחלקיו של מספר פונקציה הבודקת האם מספר ראשוני או פריק פונקציה הבודקת האם מספר הוא פלינדרום פונקציה המחזירה את הערך המרבי המצוי במערך פונקציה המחזירה את הערך הזוגי המרבי המצוי במערך פונקציה הקוראת נתונים לתוך מערך (גרסה א') פונקציה הקוראת נתונים לתוך מערך (גרסה ב') פונקציה המקבלת מערך דו-ממדי (רב ממדי) העברת תא במערך כפרמטר לפונקציה שימוש בפונקציות לכתיבת תכניות מודולאריות תכנית להצגת שורשי משוואה ריבועית משחק החיים מחסנית הזיכרון חוקי ה-... scope Overloading תרגילים תרגיל מספר אחד: איתור גרם מדרגות מרבי במערך תרגיל מספר שתיים: איתור מטוס מרבי במערך תרגיל מספר שלוש: איתור תולעת מרבית במערך תרגיל מספר ארבע: איתור ריבועי קסם במערך תרגיל מספר חמש: איתור מסגרת במערך תרגיל מספר שש: איתור סולם מרבי במערך תרגיל מספר שבע: איתור תת-מטריצות סימטריות במטריצה רקורסיה דוגמות ראשונות חישוב n! 186 חישוב סכומם של שני מספרים טבעיים חישוב החזקה של שני מספרים טבעיים תרגום מספר טבעי מבסיס 1 לבסיס קריאת סדרת מספרים באורך לא ידוע, והדפסתם בסדר הפוך הצגת האיבר ה- n י בסדרת פיבונאצ'י מיון מהיר Sort)...(Quick מגדלי האנוי זמן הריצה של מיון מהיר (Towers of Hanoi) תיאור הבעיה הסבר אינטואיטיבי של הפתרון תיאור אלגוריתמי של הפתרון זמן הריצה של האלגוריתם בעיית שמונה המלכות זמן הריצה האלגוריתם איתור מסלול יציאה ממבוך חלוקת קבוצה לשתי תת-קבוצות שקולות תרגילים תרגיל מספר אחד: תכניות רקורסיביות פשוטות

11 תרגיל מספר ארבע: סידור כרטיסים בתבנית רצויה תרגיל מספר חמש: מילוי תשבץ במילים תרגיל מספר שש תרגיל מספר שבע: התאמת תבניות Matching) (Pattern תרגיל מספר שמונה: איתור מסלולים במערך תרגיל מספר תשע: איתור תולעים במערך תרגיל מספר עשר: מסעי הפרש תרגיל מספר אחת-עשרה: תמורות תרגיל מספר שתיים-עשרה: מגדלי האנוי עם טבעות ורודות וירוקות תרגיל מספר שלוש-עשרה: כמות העבודה הנדרשת בעת העברת מגדלי האנוי משתנים תוויים (chars) ומחרוזות...(strings) 256 משתנים תוויים מחרוזות תרגילים תרגיל מספר אחד: הורדת תיעוד מתכנית, וספירת מילים המופיעות בה תרגיל מספר שתיים: ספירת מילים בטקסט תרגיל מספר שלוש: הצפנת ופיענוח טקסט תרגיל מספר ארבע: מספרים גדולים תרגיל מספר חמש: התאמה חלקית של מחרוזות תרגיל מספר שש: פלינדרום מקסימלי תרגיל מספר שבע: חילוץ מספרים מטקסט קלט פלט וטיפול בקבצים בשפת ++C הקדמה הפונקציה...cin.eof() הפונקציות cin.fail() וחברותיה שימוש בקבצים חיצוניים מצביעי get ו-... put קריאה וכתיבה מאותו קובץ תרגילים תרגיל מספר אחד: מיזוג קבצים תרגיל מספר שתיים: דחיסת נתונים

12 ב( 1. הקדמה פרק זה כשמו כן הוא: פרק הקדמה. מטרתו ללמד אתכם מעט אודות המכונה בה תשתמשו במהלך לימודיכם: המחשב. יאמר מיד, כשם שאתם יכולים לנהוג במכונית, או לתפעל מכונת כביסה, בלי להכיר כלל את עקרונות פעולתם של אותם מכשירים, כך אתם יכולים גם לתפעל את המחשב בלי להבין כיצד הוא פועל; אולם לדעתי יועיל לכם להבין, ולו באופן כללי ועל קצה המזלג, כיצד פועל המחשב, מדוע אתם מבצעים צעד זה או אחר, ול מה אותו צעד גורם במחשב. על-כן בחרתי לפתוח את מסענו בהסבר קצר וכללי אודות המחשב. אני מודע לכך שמי שהיכרותו עם עולם המ ח שוב התמצתה עד היום בתפעול מכשיר בנק אוטומטי או בשימוש במעבד תמלילים, עלול, בשלב זה, שלא להבין חלק מהדברים, על כן אני ממליץ לכם לקרוא פרק זה עתה, אך לשוב אליו אחרי שתצברו ניסיון מסוים בתפעול המחשב ובת כנותו. אני תקווה כי מה שלא יובן עתה יובן אז בצורה מלאה יותר. נפתח בשאלה: מהו המחשב? במה הוא שונה ממכונת הכביסה (ודומה, אולי, ללגו)? ביסודו כמכשיר אבסטרטי מורכב המחשב משני מרכיבים א. זיכרון,memory) ולעיתים נדייק ונאמר זיכרון ראשי main memory כדי להבדיל בין הזיכרון הראשי לזיכרון המשני), ב. מעבד processor) ולעיתים נדייק ונאמר מעבד ראשי או Central Processing Unit ובקיצור.CPU ללשון הדיוק נזדקק עת נרצה להבחין בין המעבד הראשי למעבדי עזר נוספים שעשויים להיות מותקנים במחשב). כדי להפוך את המכשיר האבסטרקטי לפרקטי, יחוברו למחשב רכיבי ציוד היקפי device) (peripheral נוספים כגון מקלדת, מסך, דיסק קשיח disk),(hard כונן תקליטונים, עכבר, מדפסת. ברכיבים אלה נדון בהמשך שכן הם חיוניים לשם תפעולו של המחשב, אולם הם אינם חלק מהמחשב ביסודו, במובנו הצר ביותר. הזיכרון 1.1 הזיכרון כשמו כן הוא: תפקידו לזכור (במילים אחרות: לשמור) את מה שאוחסן בו. הזיכרון שומר את מה שאוחסן בו רק כל עוד המחשב פועל (עת מכבים את המחשב תוכנו של הזיכרון אובד). מה הזיכרון זוכר? לא זיכרונות ילדות, אלא: (א) נתונים (data) כגון המספר 17, או השם 'יוסי כהן', ( תכניות :(programs) תכנית היא סדרה של פקודות (statements) המוב נות למחשב, כגון: (1) חבר את המספרים 3879 ו- 17, (2) שמור את הסכום בזיכרון, (3) הגדל את הסכום באחד, (3) אם הסכום אינו מתחלק ב- 121 אזי אפּ ס (הכנס אפס) את תא הזיכרון בו שמרת את הסכום. הזיכרון אינו יודע לעשות דבר עם הנתונים והתכניות השמורים בו פרט לשמירתם. המחשבים בהם אנו משתמשים כיום נקראים מחשבי פון-נוימן, על-שם האדם שהגה אותם. אחד הרעיונות שהגה פון-נוימן הוא שאותו זיכרון עשוי להחזיק שני סוגים של 'יצורים': תכניות ונתונים (שישמשו את התכניות). כאשר אנו, כבני אדם המורגלים בשימוש במספרים עשרוניים, חושבים על התא הבסיסי ממנו נרכיב מערכת לשמירת מספרים, סביר שנחשוב על תא שעשוי להכיל ספרה עשרונית (כלומר ספרה שעשויה להכיל ערך שבין אפס לתשע). באמצעות שני תאים כאלה נוכל לשמור מספרים בתחום שבין אפס ל- 99, באמצעות שלושה תאים נוכל לשמור מספרים שבין אפס ל- 999 וכך הלאה. במחשב היחידה הבסיסית ממנה בנוי הזיכרון היא תא יחיד הקרוי סיבית (bit) ואשר מסוגל להכיל אחד משני 12

13 ערכים: אפס או אחד, במילים אחרות ערך בינארי. באמצעות שתי סיביות נוכל לשמור ארבעה ערכים שונים (, 11), 1, 1, באמצעות שלוש סיביות נוכל לשמור שמונה ערכים שונים (שעשויים לייצג את המספרים אפס עד שבע, האותיות א' עד ח', או כל שמונה ערכים שנרצה). באמצעות שמונה סיביות נוכל לשמור 256 ערכים שונים. קבוצה של שמונה סיביות מכונה בית.(byte) שני בתים (או לעתים ארבעה או שמונה בתים) מכונים מילה.(word) מכיוון שסיבית בודדת היא יחידה קטנה מאוד, נהוג לציין את גודלו של הזיכרון ביחידות של בתים (גודלו של הזיכרון ביחידות של סיבית הוא, כמובן, פי שמונה מגודלו ביחידות של בית). על הזיכרון ניתן לבצע אחת משתי פעולות: (א) לאחסן ערך בתא זיכרון כלשהו (במילים אחרות לכתוב ערך על התא), או (ב) לשלוף את הערך המצוי בתא זיכרון כלשהו (הקריאה\שליפה אינה מוחקת את הערך המצוי בתא). זיכרון המחשב כולל מילארדי בתים. על-מנת שניתן יהיה לפנות לבית רצוי כלשהו בזיכרון, (כדי לכתוב עליו או על מספר בתים רצופים המתחילים בבית זה, או כדי לקרוא את הערך המצוי בתא הזיכרון), נותנים לכל בית בזיכרון כתובת. לפיכך, לדוגמה, תכנית במחשב עשויה לכלול פקודה אשר מכניסה את הערך 17 לתא המצוי בכתובת בזיכרון. במחשבים האישיים המיוצרים בעת כתיבת שורות אלה, גודלו של הזיכרון הראשי נע בין 512 mega byte (כלומר 512 מיליוני בתים) לבין 4 giga byte (כלומר ארבעה מיליארדי בתים) לערך. המעבד 1.2 המעבד הוא המוח של המחשב, הוא זה שיודע לבצע,execute) לעיתים נאמר להריץ (run את התכניות השמורות בזיכרון. עת המעבד מריץ תכנית, ועל-ידי כך מבצע משימה כלשהי, אנו אומרים כי המחשב ביצע חישוב (computation) זה או אחר. בשפת יומיום חישוב משמש בה ק שר המתמטי, בעולם המחשבים חישוב מציין כל משימה שתורגמה לתכנית מחשב, (במילים אחרות שתוכנתה), ושמבוצעת על-ידי המחשב (דוגמה לחישוב: קרא מהמשתמש סדרה של מילים באנגלית, מיין את המילים על-פי סדר לקסיקוגרפי, כלומר על-פי הסדר בו הן מופיעות במילון, ואחר הצג את המילים הממוינות). אמרנו שהמחשב (או ליתר דיוק המעבד שבו) מבצע תכנית, כלומר סדרה של פקודות. גדולתו של המחשב היא שהפקודות הבסיסיות אותן מכיר המעבד (ומסוגל לבצע) הן פשוטות ביותר, אך על-ידי שילובן יחד ניתן לבצע משימות מורכבות ביותר. בכך דומה המחשב ללגו. גם בלגו קיימות מספר קוביות קטנות ופשוטות אשר על-ידי הרכבתן יחד ניתן לבנות מבנים באופן שרק השמים (והתקציב) הם הגבול (תרתי משמע). בכך שונה המחשב ממכונת הכביסה: במכונת הכביסה קיימות מספר תכניות מוגדרות וקבועות מראש, ואתם אינכם יכולים לבנות לכם תכנית כבקשתכם אשר תכניס מים, תשטוף, תסחט בכל סדר שהוא וכמה פעמים שאתם רוצים. את מהירות המעבד נהוג למדידות ביחידות של הרץ. מהירות המעבד במחשבים הביתיים המיוצרים כיום היא כ- 7 מגה הרץ (כלומר שעון המעבד מבצע 7 מיליון פעימות בשניה). קיים קשר עקיף בין מהירות זאת לבין מספר הפקודות בשפת מכונה שהמעבד מסוגל לבצע, ולכן יהיה זה מדויק אך בחלקו לומר שמעבד 13

14 שמהירותו X מבצע תכנית כלשהי מהר יותר ממעבד שני שמהירותו Y (עבור < Y.(X 1.3 שפת מכונה, שפת הרכבה, ושפה עילית הפקודות אותן המעבד יודע לבצע נקראות שפת המכונה language) (machine של המחשב. תכוּנוֹתיה של שפת המכונה הן: (א) היא מורכבת ממספר מוגבל של פקודות בסיסיות\פשוטות. (ב) היא ספציפית לכל מעבד ומעבד (שפת המכונה של מעבדים המיוצרים על-ידי חברה X (לדוגמה אינטל) שונה משפת המכונה של מעבדי חברת Y (לדוגמה: מוטורולה)). (ג) פקודותיה מקודדות כאפסים ואחדים (על-מנת שנוכל לשמרן בזיכרון). פקודה אפשרית בשפת מכונה עשויה להראות באופן הבא: (הרווחים הוכנסו רק כדי להקל עלינו כבני אדם את הקריאוּת), ומשמעותה עשויה להיות: שלוש הסיביות השמאליות (11) מציינות שיש לחסר את הנתון המופיע בכתובת שבחמש הסיביות הבאות (1 כלומר כתובת מספר 1) מהנתון המופיע בחמש הסיביות שאחר-כך (11 או הכתובת מספר 5). כתיבת תכניות המורכבות מפקודות כנ"ל היא משימה המועדת לטעויות מרוּבות (לדוגמה: בהיסח הדעת יזין המתכנת 11 במקום 11 בתור מציין הפקודה שיש לבצע, והתוצאה תהיה שהמחשב יבצע פקודה שונה מפקודת החיסור אליה התכוון המתכנת). על-כן באו חכמים והגו את שפת ההרכבה language).(assembly פקודותיה של שפת ההרכבה זהות לאלה של שפת המכונה, אולם במקום לכתוב ס דרות של אפסים ואחדים (כפי שכותב המתכנת בשפת המכונה) כותב המתכנת בשפת ההרכבה פקודות בשפה מילולית. לדוגמה את הפקודה שתיארנו קודם לכן בשפת מכונה נכתוב בשפת הרכבה כ-,#1 #5 SUB כלומר החסר (subtract) את הנתון בכתובת מספר 1, מהנתון בכתובת מספר 5. תכנית הכתובה בשפת הרכבה אין המעבד מסוגל לבצע (זו אינה תכנית בשפת מכונה). כדי שהמעבד יהיה מסוגל לבצע את התכנית יש ראשית לתרגמה משפת הרכבה לשפת מכונה. את פעולת התרגום עושה תכנית במחשב בשם מרכיב.(assembler) שימו לב כי המרכיב מבצע עבודת תרגום די פשוטה, לדוגמה הוא מתרגם מילה כגון SUB לרצף של אפסים ואחדים כגון 11, את המספר העשרוני 5 עליו לתרגם למספר הבינארי 11, וכך הלאה. אין ספק כי תיכנות בשפת הרכבה נח הרבה יותר מאשר תכנות בשפת מכונה, אולם גם לשפת ההרכבה יש מספר חסרונות מהותיים: (א) היא מורכבת מפקודות שאינן די תואמות את דרך החשיבה של מתכנת אנושי, ועל כן התכנות בה פחות נח מכפי שהינו מעוניינים. (ב) מכיוון שפקודותיה זהות לאלה של שפת המכונה היא תלויית מעבד; מש מ ע איננו יכולים להעביר תכנית שכתבנו בד י עמל בשפת הרכבה של מחשב אחד, למחשב אחר בו מותקן מעבד שונה ('הדובר' שפת מכונה, ולכן גם שפת הרכבה שונה), וזו כמובן מגבלה מאוד משמעותית בעולם כה דינמי כמו עולם המחשבים. על שתי המגבלות הללו מתגברות (חלקית) השפות העיליות. שפה עילית היא שפה שפקודותיה נהגו בדמיונו הקודח של מפתח השפה. פקודות השפה אינן קשורות למחשב זה או אחר, והסיבה להכללתן בשפה היא שלדעת מפתח השפה כתיבת תכניות תוך שימוש בפקודות אלה תהיה משימה יחסית נוחה, באשר הפקודות תואמות את צורת החשיבה של מתכנת אנושי עת האחרון מעוניין לכתוב תכנית מחשב. קריטריון נוסף אותו מפתח שפה ישקול הוא המידה בה התכנית תהיה קריאה לאדם אחר מזה שכתב אותה. על כן פקודות בשפה עילית 14

15 נראות דומות במידת מה למשפטים בשפה האנגלית. לדוגמה הפקודה: (y if x) > write(x) then משמעה שאם תא הזיכרון המכוּנה בשם x מכיל ערך גדול מהערך המוחזק בתא הזיכרון המכונה y, אזי הצג את ערכו של תא הזיכרון x. מתכנן שפה ישקול גם את המידה בה ניתן יהיה לתרגם בקלות וביעילות תכנית הכתובה ב שפה אותה הוא מפתח לשפת מכונה. לכאורה, אפשר היה להציע שהמתכנת יכתוב את תכניתו באנגלית ציחה, אולם אז יש קרוב לודאי שתרגום התכנית לשפת מכונה היה משימה בלתי אפשרית. על כן מפתח של שפה עלית צריך לשמור על מתח בין רצון לפתח שפה בה נקל יהיה לכתוב, לבין היכולת לתרגם תכנית בשפה אותה הוא מפתח לשפת מכונה (שהיא, ורק היא, השפה אותה 'דובר' המעבד). כמעט כל התכניות הנכתבות בימינו מתוכנתות בשפות עליות כגון פסקל, ++C, C,,Java בייסיק, קובול, ורבות אחרות. כמובן שתכנית הכתובה בשפה עילית אינה ניתנת לביצוע (להרצה) כמות שהיא על-ידי המעבד (שכן היא אינה כתובה בשפת מכונה). כדי שהמעבד יוכל לבצע את התכנית יש, ראשית, לתרגמה לשפת מכונה. פעולת התרגום משפה עילית לשפת מכונה נעשית על-ידי תכנה במחשב הנקראת מהדר או קומפיילר (compiler) ובת זוגה הנקראת כורך או לינקר.(linker) הקומפיילר מתרגם את פקודות התכנית כפי שכתב המתכנת (בשפה עילית) לשפת מכונה. אנו אומרים כי הקומפיילר תירגם את תכנית המקור program) (source לקוד code) ולעיתים נדייק ונאמר.(object code בעגה אנו אומרים כי קימפלנו את התכנית (או שהקומפילר קימפל את התכנית). אולם הקוד המתקבל אינו שלם עדיין, ואינו ניתן להרצה (לביצוע) על-ידי המעבד. את השלמת התהליך לכדי תכנית ניתנת להרצה מבצעת תוכנת הלינקר. הלינקר מוסיף לקוד המתקבל נדבכים נוספים, שעל מהותם לא נעמוד בקורס זה, ויוצר תכנית ניתנת להרצה ) executable.(code את התכנית הניתנת להרצה יוכל המעבד לבצע. במקרים רבים איננו מדייקים בלשוננו ואנו משתמשים בביטוי לקמפל עבור התהליך המלא של קומפילציה ולינקינג. ציינו כי שפת ההרכבה קשורה לשפת המכונה. שפה עילית אינה קשורה לשפת המכונה, רק הקומפיילר הוא שקושר בין התכנית הכתובה בשפה עילית למעבד זה או אחר. על-כן את אותה תכנית נוכל לתרגם באמצעות קומפיילר א' לשפת מכונה של מחשב #1, ובאמצעות קומפיילר ב' לשפת המכונה של מחשב #2. התוצאה היא שהתכנית הפכה להיות נשיאה (portable) במובן זה שניתן לשאת אותה, במילים אחרות להעביר אותה, ממחשב למחשב; ועת אנו עוברים ממחשב למחשב אין צורך לכתוב מחדש את כל התכניות שכתבנו על המחשב הישן. יש צורך רק בכתיבת תוכנות קומפיילר ולינקר חדשות, ובאמצעות תכנות אלה נוכל לתרגם את כל התכניות שכתבנו בשפה עילית למחשב החדש. לקומפיילר תפקיד נוסף מ עבר לת רגום התכנית משפה עילית לשפת מכונה: במידה ובמהלך התרגום מאתר הקומפיילר שגיאות בתכנית המקור, הוא מודיע על-כך ואינו מבצע את התרגום. לדוגמה אם במקום לכתוב if יכתוב המתכנת בטעות,iif אזי הקומפיילר יתקל, מבחינתו, בפקודה שגויה בתכנית. הוא לא ינסה לנחש מה הייתה כוונת המתכנת, אלא הוא יודיע כי הוא איתר שגיאה בתכנית. בשפת C עשוי הקומפיילר גם להזהיר אתכם על פקודות 'חשודות' בתכנית. אזהרות שכאלה לא תמנענה מהקומפיילר לתרגם את התכנית לשפת מכונה, ובכל אופן ראוי שהתכניות שתכתבו לא 'תזכנה' לאזהרות מצד הקומפיילר. 15

16 1.4 האדיטור, והדיבגר הזכרנו כי המחשב מורכב מזיכרון ומעבד. התכניות שנכתוב במחשב שוכנות (בשלב ראשון) בזיכרון. התוכנה במחשב אשר מאפשרת לנו לכתוב תכניות, כלומר להזין את התכנית שכתבנו על דף, לזיכרון המחשב נקראת עורך או אדיטור (editor) בלע"ז. האדיטור דומה למעבד תמלילים, אולם הוא מותאם במיוחד ורק לכתיבת תכניות, ככזה אין בו חלק מהכלים שקיימים במעבד תמלילים (באדיטור אין אפשרות להקליד אותיות דגושות למשל או לקבוע גופן כזה או אחר) ומנגד יש בו עזרים אשר מסייעים להקלדת התכנית באופן נח (לדוגמה: הוא צובע מילות מפתח שונות בצבעים שונים, מעמ ד את התכנית באופן המקובל). באמצעות האדיטור נקליד את התכנית שכתבנו (בשפה עילית), אחר באמצעות הקומפיילר והלינקר נתרגם את התכנית לשפת מכונה, ואז יוכל המעבד להריצה. כלי נוסף שעומד לרשות המתכנת הוא המנפה.(debugger) הדיבגר מסייע לכם לאתר שגיאות בתכנית. קודם ציינו כי במידה והקומפיילר מאתר שגיאות בתכנית הוא אינו מתרגם את התכנית לשפת מכונה. עתה נדייק ונאמר כי המהדר מאתר שגיאות תחביריות (כדוגמת החלפת if ב-,iif או העדרו של פסיק במקום בו הוא מצוּפה להופיע). לעיתים התכנית עשויה להיות חפה משגיאות תחביריות, על-כן הקומפיילר יוכל לתרגמה לשפת מכונה, אולם התכנית תכלול שגיאות לוגיות, כלומר שגיאות אשר גורמות לתכנית שלא לבצע את המשימה אותה היא אמורה לבצע. לדוגמה, נניח כי על התכנית לחבר את ערכם של תא הזיכרון המכונה בשם x עם תא הזיכרון המכונה y, אולם המתכנת, בהיסח הדעת, במקום לכתוב x+y כתב.x-y מבחינה תחבירית התכנית תקינה, ועל כן הקומפיילר יצליח לתרגמה לשפת מכונה, אולם עת התכנית תורץ היא לא תבצע את מה שהיה עליה לבצע. אנו אומרים כי התכנית כוללת שגיאה לוגית. סוג מיוחד של שגיאה לוגית היא שגיאה אשר גורמת למחשב להפסיק את ביצוע התכנית, שכן התכנית מנסה לבצע פעולה אסורה או בלתי אפשרית. לדוגמה נניח כי המתכנת כלל בתכניתו פקודה כגון x/y שמשמעה חלק את הערך המצוי בתא הזיכרון שכינויו x בערך המצוי בתא הזיכרון שכינויו y. עוד נניח כי מסיבה כלשהי תא הזיכרון y כולל את הערך אפס. עת המחשב (ליתר דיוק המעבד) ינסה לחשב את המנה (תוצאת החילוק), הוא ייכשל, שהרי לא ניתן לחלק באפס. המחשב יפסיק מיידית את ביצוע התכנית ויודיע כי ביצוע התכנית נקטע בשל שגיאה. אנו נוהגים לומר במקרה כזה כי התכנית עפה.(aborted or terminated) 1.5 הדיבגר מאפשר לכם להריץ תכניות בצורה מודרכת, לבצע בכל פעם רק פקודה יחידה, להציג את ערכם של תאי זיכרון שונים, וכך לאתר את המקום בו התכנית שוגה. במקרים רבים קיימת במחשב תכנה יחידה הנקראת סביבת עבודה ואשר כוללת את כל הכלים להם אנו נזקקים לשם כתיבת תכניות, כלומר אדיטור, קומפיילר, לינקר, ודיבגר.,borland C,Microsoft Visual Studio, Eclipse, Anjuta או Borland Project הן כמה דוגמות לסביבות עבודה. מערכת ההפעלה מחשב המורד מפס היצור נקרא מכונה עירומה, יש לו את כל הרכיבים הדרושים, אולם אין מי שיארגן את הרכיבים הללו לכדי מערכת אחת שלמה, אינטגרטיבית, בה ניתן לעשות שימוש מועיל. את הארגון והפיקוח על פעולת הרכיבים השונים מבצעת תכנה במחשב הקרויה מערכת ההפעלה system).(operating מערכת 16

17 ההפעלה היא שמאפשרת לכם להשתמש במחשב באופן שתקבלו ממנו את שאתם צריכים, ולא תגרמו נזקים לנתונים ולתכניות השמורים בו. עם הדלקת המחשב פונ ה המעבד להרצת מערכת ההפעלה, ולכל אורך פעולת המחשב מערכת ההפעלה היא שמוֹר ה למעבד מה עליו לעשות בכל שלב, היא שמאפשרת לו להריץ תוכנה זו או אחרת אותה אתם מבקשים להפעיל. היא גם שמפקחת שהפעלתה של התכנה (במלים אחרות, שהרצתה על-ידי המעבד) לא תגרום לנזקים (למשל שהתכנה לא תנסה לכתוב על תאים בזיכרון עליהם אין היא אמורה לכתוב ). כל תכנית המורצת במחשב, בין אם זה מעבד תמלילים משוכלל, ובין אם תכנית קטנה שאתם כתבתם, מורצת בפיקוחה של מערכת ההפעלה. מערכת ההפעלה כוללת מרכיבים רבים. לדוגמה עת תכנית נזקקת לזיכרון במחשב מערכת ההפעלה היא שמקצה את קטע הזיכרון שיעמוד לרשות אותה תכנית (וכך דואגת מערכת ההפעלה שתכניות שונות תקבלנה קטעי זיכרון שונים, ועל-כן לא תפרענה אחת לשניה). עת תכנית מעונינת להדפיס נתונים מערכת ההפעלה היא זו שבפועל מעבירה את הנתונים הדרושים למדפסת (מערכת ההפעלה תדאג לכך שאם שתי תכניות בקשו להדפיס בו זמנית אזי ראשית יודפסו נתוני התכנית האחת ורק אחר נתוני התכנית השניה). מערכת ההפעלה היא שאחראית לקרוא מהמקלדת את שמוקלד עליה (ולהעביר את המידע שמוקלד ל תכנית שזקוקה לו), והיא שמעבירה למסך את הנתונים שתכנית המורצת במחשב מעוניינת להציג על המסך. מערכת ההפעלה תדאג שהפלט של כל תכנית יופיע במסך במקום המתאים. בקיצור כל מלאכת ניהול המחשב והפיקוח על שקורה בו מסור בידיה הנאמנות(?) של מערכת ההפעלה. 1.6 ציוד המתחבר למחשב עד כה תיארנו את המחשב כמורכב מזיכרון ומעבד. אלה הם המרכיבים הבסיסיים של המחשב כמכשיר אבסטרקטי; אך עת רוצים שהמחשב יהיה גם מכונה פ רק טית יש לחבר לו מרכיבים נוספים, כפי שכולכם מכירים, מרכיבים הנקראים ציוד קלט פלט ) device input output או בקיצור (i/o device או ציוד היקפי: המסך (ולעיתים רמקולים המחוברים למחשב) מאפשרים הצגת נתונים (במובן הרחב של המילה), המקלדת והעכבר מאפשרים הזנת נתונים. מרכיב חשוב בציוד הקלט פלט הוא הזיכרון המשני המורכב במקרים רבים מהדיסק הקשיח disk) (hard, התקליטון\דיסקט,(diskette) או זיכרון נייד כדוגמת.disk on key ציינו כי הזיכרון (או ליתר דיוק הזיכרון הראשי) שומר את הנתונים הנכתבים עליו רק כל עוד המחשב דולק. במקרים רבים אנו מעונינים לשמור נתונים לאורך זמן, גם עת המחשב מכובה (לדוגמה: כתבנו תכנית מחשב חשובה או חיברנו יצירת מופת). מספר רכיבי ציוד מאפשרים שמירת נתונים גם עת המחשב כבוי; החשובים ביניהם הם הדיסק הקשיח והזיכרון הנייד. עקרונית דרך פעולתם של שני כלים אלה זהה. (דיסקטים, סרטים מגנטיים, הדומים לקלטות במכשירי הקלטה, ותקליטים אופטיים,,compact disks הם כלים נוספים המאפשרים שמירת נתונים גם עת המחשב אינו פועל). מבחינתנו כמשתמשים, ההבדל המשמעותי בין הדיסק הקשיח לתקליטון או ל- disk on key הוא שהדיסק הקשיח מותקן בדרך כלל ב מחשב באופן קבוע, ולא ניתן לשאתו ממקום למקום בנפרד מהמחשב בו הוא מותקן, לעומתו את התקליטון ניתן להתקין במחשב (להכניסו לכונן התקליטונים), לכתוב עליו או לקרוא ממנו את המידע הרצוי, ואחר לנתקו מהמחשב, ולשאתו עמכם לכל מקום אליו תפ נו. הבדל 17

18 נוסף הוא שתהליך הכתיבה על גבי הדיסק הקשיח והקריאה ממנו מהירים יותר מאשר ביצוע אותן פעולות על גבי תקליטון. כמו כן נפחו של הדיסק הקשיח גדול מזה של תקליטון. נפחו של תקליטון המיוצר כיום הוא כ- 1.5 במחשב ביתי הוא בסדר גודל של מאתיים בתים). מגה בית, בעוד נפחו של דיסק קשיח ג'יגה בית (כלומר מאתיים מיליארד 1.7 מושג חשוב אותו עלינו להכיר עת אנו דנים בזיכרון המשני הוא הקובץ.(file) נניח שכתבנו תכנית מחשב, או להבדיל פואמה, וברצוננו לשמור את יצירתנו לאורך זמן, ולכן על-גבי דיסק (או זיכרון נייד). כדי שהמחשב (או ליתר דיוק המעבד בפיקוחה של מערכת ההפעלה) יוכל לשמור את הנתונים עבורנו, הוא מקצה על-גבי הדיסק שטח או במילים אחרות קובץ, ועליו הוא שומר\כותב את הנתונים. אנו איננו יודעים היכן מצוי השטח שהוקצה על גבי הדיסק (כלומר, מה כתובתו), כל שאנו יודעים הוא מה השם שאנו בחרנו לתת לקובץ שנוצר. לדוגמה נניח שבחרנו לקרוא לקובץ.my_poem בהמשך נוכל להורות למחשב להדפיס את הקובץ ששמו,my_poem לטעון למעבד התמלילים קובץ זה, או אפילו למחוק את הקובץ הנ"ל. המחשב ידע לאיזה קובץ אנו מתכוונים שכן לכל קובץ יש שם ייחודי המזהה רק אותו (כמובן שניסיון לקמפל את הקובץ,my_poem המכיל פואמה היסטורית דידקטית, יגרום למהדר להודיע לנו על אינספור שגיאות שהוא מצא ב-'תכנית' שביקשנו ממנו לקמפל). עת אתם כותבים תכנית חדשה במחשב, באמצעות האדיטור, התכנית ר אשית נשמרת בזיכרון. אחת הפעולות שהאדיטור מאפשר לכם לבצע היא לשמור את התכנית כקובץ בזיכרון המשני. עת תבקשו מהאדיטור לבצע פעולה זאת הוא ישאלכם לשמו של הקובץ שברצונכם ליצור ושיכיל את התכנית שכתבתם. מושג נוסף שנרצה להציג בשלב זה הוא מושג המחיצה (folder) או המדריך.(directory) נניח שאתם אנשים מסודרים. עוד נניח כי במסגרת עבודתכם אתם כותבים מכתבים, מחברים מנגינות ומציירים ציורים. על-כן סביר לצפות שבשולחן העבודה שלכם (הפיזי, הניצב בחדרכם) נמצא מגרת מכתבים, מגרה ובה מצויים תווים, ומגרה בה שוכנים ציוריכם. באופן כזה נקל יהיה עליכם לאתר 'מסמך' (דף) רצוי זה או אחר. אם תוך כדי עבודתכם מתברר לכם שאתם כותבים מכתבים רבים ואיתור מכתב רצוי בין כלל המכתבים שכתבתם נעשה קשה, סביר שתפצלו את מגירת המכתבים למגרת מכתבים רשמיים לעומת מגירת מכתבים אישיים. גם במחשב קיים מנגנון דומה. האנלוג במחשב למגרה היא המחיצה או המדריך. על-כן במחשב האוניברסיטה סביר שתימצא מחיצה לכל תלמיד. כל תלמיד יוכל לשמור במחיצה שלו, ורק במחיצה שלו, חומר שהוא יצר. אם התלמיד לומד מספר קורסים יתכן שאת המחיצה שלו הוא יחלק למספר תת-מחיצות, אחת לכל קורס (ואולי כמה מסמכים\קבצים שאינם שייכים לשום קורס ישכנו במחיצה הראשית של התלמיד, לצד מחיצות המשנה של הקורסים השונים). יתכן שאת המחיצה של הקורס מבוא לתכנות יחלק התלמיד שוב למספר מחיצות אחת עבור כל תרגיל, כך שבמחיצה של כל תרגיל ישכון כל החומר השייך לתרגיל זה (כגון קובץ הכולל את תכנית המקור שהתלמיד יצר, קובץ הכולל את תרגום תכנית המקור לשפת מכונה). שפת C הקורס שלפנינו מתנהל בשפת C או ליתר דיוק בשפת ++C. למעשה מרבית הנושאים שילמדו משותפים לשתי השפות גם יחד, ואת ההיבטים המרכזיים 18

19 שמייחדים את ++C מ- C (קריא תכנות מונחה עצמים) לא נכיר במהלך קורס זה. (במקומות בהם חומר הלימוד נכון רק לשפת ++C ולא לשפת C נציין זאת). ניתן לנהל דיונים ארוכים ומלומדים מדוע לבחור בשפה זו או אחרת לקורס ראשון במדעי המחשב. לצורך ענייננו נאמר בקצרה כי C היא השפה הנפוצה ביותר לתכנות מודולרי programming) (modular כפי שנלמד בקורס זה. לשפת C מגבלה עבור מתכנתים מתחילים והיא שהשפה מאוד 'ליברלית', כלומר הקומפיילרים שלה נוטים להניח שהמתכנת יודע מה הוא עושה, ועל כן אם הוא כתב דבר מה יש להניח שיש לו סיבה טובה לעשות זאת. דא עקא עבור מתכנתים מתחילים הנחה זאת לעיתים קרובות אינה תקפה---מתכנת מתחיל כותב לעיתים שטויות חסרות פשר או תכלית. התוצאה היא שהשפה (או ליתר דיוק הקומפיילר) אינו די שומר עליכם, וחובת השמירה מועברת אליכם. עבור מתכנתים מתחילים זו לעיתים חובה כבדה (מדי). שנאמר "אלוהים מרחם על ילדי הגן ". בקורס זה נלמד לתכנת בגישת התכנות המודולרי. קיימות גישות אחרות לתכנות (תכנות מונחה עצמים,,object oriented programming תכנות בלוגיקה, תכנות פונקציונלי). עבור גישות אחרות קיימות שפות אחרות שעשויות להתאים יותר או פחות משפת C (בפרט עבור תכנות מונחה עצים קיים ויכוח האם ++C או Java היא השפה המועדפת). עבור תכנות מודולרי, לכוחותינו, נראה כי C היא הבחירה המתאימה ביותר. 1.8 האלגוריתם מושג אחרון אותו נכיר במסגרת ההקדמה הוא מושג האלגוריתם.(algorithm) אלגוריתם הוא שיטה לפתרון בעיה. לדוגמה, ספר בישול או אפיה מכיל סדרת של אלגוריתמים (המכונים בדרך-כלל מתכונים) המסייעים בהכנת תבשילים ומאפים שונים (לדוגמה: מתכון להכנת ברווז בנוסח סצ'ואן). 'הבעיה' אותה פותר כל אלגוריתם ב ספר היא כיצד להכין מאכל כזה או אחר. עת אתם משתמשים במתכון כדי להכין את המאכל אתם מבצעים את האלגוריתם. בעולם המחשבים מקובל לעיתים לומר שאתם מריצים את האלגוריתם. נציג שתי דוגמות נוספות שימחישו מהו אלגוריתם: א. משוואה ריבועית היא ביטוי מהצורה: y, = a*x 2 +b*x c+ עבור a,b,c שהינם מספרים ממשיים. לדוגמה: *x y = 17*x 2 או y = -5*x הן משוואות ריבועיות. שורש המשוואה הריבועית הוא ערך ממשי שאם יוצב במקום x, אזי ערך ה- y המתאים לו יהיה אפס. רובכם ודאי זוכרים שהאלגוריתם, במילים אחרות הנוסחה, או השיטה, לאיתור זוג שורשי משוואה ריבועית היא: x 1, x 2 = [-b +- sqrt(b 2 4*a*c)]/[2*a] ב. עתה נציג אלגוריתם לבדיקה האם מספר טבעי כלשהו ראשוני. האלגוריתם הוא הבא: אם המספר הוא שתיים אזי הוא ראשוני. 1. אם המספר הוא מספר זוגי השונה משתיים אזי הוא אינו ראשוני אם המספר פרדי (במילים אחרות, אי זוגי) אזי בדוק את כל המספרים אחד מהם אינו מחלק את אם אף הפרטיים הקטנים משורש המספר, 19

20 המספר אזי המספר ראשוני; אם לפחות אחד מהם מחלק את המספר אזי המספר פ ריק (במלים אחרות, לא ראשוני). כל אלגוריתם מורכב מסדרה של פעולות בסיסיות אותן יש לבצע כדי להשיג את המטרה הרצויה, במילים אחרות כדי לפתור את הבעיה. במתכון לבישול או אפיה הפעולות הבסיסיות עשויות להיות: הקצף, טרוף, ערבב, הוסף. כמובן שההנחה היא שמבצע האלגוריתם יודע לבצע את הפעולות הבסיסיות (לדוגמה, הוא יודע כיצד מקציפים). בעולם החישובי הפעולות הבסיסיות הן הפקודות הקיימות בשפות התכנות השונות. (במרבית שפות התכנות קיימות פקודות דומות). לדוגמה, באלגוריתם שהוצג מעל לשם בדיקת ראשוניות של מספר על מבצע האלגוריתם לדעת האם מספר הוא זוגי או פרדי, עליו להיות מסוגל לחשב שורש של מספר, כלומר לבצע פעולות שאינן לגמרי טריביאליות. המילה אלגוריתם הינה שיבוש שמו של מתמטיקאי פרסי, בן המאה התשיעית: אבו ג'עפר מחמד אל ח'ואריזמי (אל ח'ואריזמי שובש באנגלית לכדי אלגוריתם). לאורך למודיכם תכירו אלגוריתמים רבים הפותרים משימות מגוונות. בקורס זה נפתח צוהר לנושא, ע"י שנראה כיצד כותבים תכניות מחשב המשלימות משימות שונות (בשפה פורמאלית יותר אנו אומרים שהתכנית מממשת את האלגוריתם), כגון מיון של סדרת מילים או מספרים; חיפוש, במילים אחרןת בדיקה, האם מילה\מספר כלשהו מצוי במאגר מילים\מספרים. 2

21 2. תכניות ראשונות בפרק זה נציג מספר תכניות ראשונות, פשוטות. עבור כל תכנית נציג ראשית את הקוד שלה (כלומר, הפקודות שלה), ואחר נסבירה. 2.1 תכנית ראשונה: מבנה תכנית, ופקודת הפלט cout נציג את התכנית עמה מקובל לפתוח את המסע בעולם התכנות: #include <iostream> int main() std::cout << "Hello World" ; return() ; שורת ה- main() int נדון ראשית בשורה השניה ) main() ( int שורה זאת מורה למהדר (ואחר גם למעבד) כי כאן מתחילה התכנית הראשית (main) שלנו; לצורך עניינו, בשלב זה, לא נדון בשאלה התכנית הראשית בניגוד לאיזה תכנית משנית? בשלב זה יש לנו רק תכנית ראשית, והשורה שכתבנו מציינת, כאמור, כי כאן היא מתחילה. עת המעבד יגש לבצוע התכנית (כמובן, רק אחרי שהיא תקומפל בהצלחה) הוא יתחיל את הביצוע מנקודה זאת. כל תכנית שנכתוב תכלול את השורה main(),int ותמיד ממנה יתחיל ביצוע התכנית. בשורה השניה מופיעה בין היתר המילה int שהיא קיצור של integer או מספר שלם. משמעותה המדויקת של מילה זאת תובהר רק בהמשך, כעת נסתפק באמירה כי מילה זאת אומרת שהתכנית שלנו, עת היא מסיימת לרוץ, 'מחזירה' (במילים אחרות 'מודיעה') למערכת ההפעלה (שאפשרה לה לרוץ, כלומר שהתירה למעבד לבצעה) מספר שלם המציין באיזה אופן, או מאיזה סיבה, התכנית הסתיימה (האם אחרי שהתכנית השלימה את משימתה בהצלחה? או שמא אחרי שהתכנית גילתה כי היא אינה מסוגלת להשלים את פעולתה מסיבה זו או אחרת?). הפקודה האחרונה בתכנית (; return() ( היא הפקודה באמצעותה התכנית שלנו מחזירה\מודיעה למערכת ההפעלה את הערך הרצוי, במקרה שלנו את הערך אפס. גם משמעות המושג 'להחזיר ערך' תישאר עבורנו סתומה עוד זמן מה. סוגיה נוספת בה לא נדון בקורס זה היא: האם ומה עושה מערכת ההפעלה עם הערך המוחזר? כלומר, עת התכנית מסיימת, ומודיעה למערכת ההפעלה כי היא סיימה עם הקוד אפס (שכן היא מחזירה את הערך אפס), מה משמעות הדבר עבור מ.ה.. אעיר כי מי שעובד במערכת הפעלה ממשפחת יוניקס (כדוגת לינוקס) יכול אחרי הרצת התכנית להקליד את הפקודה:?$ echo ויוצג לו הערך שהתכנית החזירה למערכת ההפעלה. עוד אציין כי הנוהג הוא שעת התכנית מסיימת בהצלחה, אחרי שהיא השלימה את משימתה, היא מחזירה את הערך אפס למערכת ההפעלה. אני נוהג לכתוב את הפקודה באופן: return(); אולם למעשה הסוגריים אינם הכרחיים וניתן לכתבה גם באופן: ;. return 21

22 למילים כגון,int, main, return מילים אשר מתארות פקודות של השפה אנו קוראים מילים שמורות words) (reserved או מילות מפתח words).(key הסוגרים המסולסלים בשורה השלישית פותחים את גוף התכנית, ובני זוגם שבתחתית מורים שגוף התכנית נסגר. התכנית תופיע תמיד בין זוג סוגרים מסולסלים שכאלה. רבים נוהגים לכתוב את הסוגר הפותח בסוף השורה בה מופיע main() int (במקום להקצות לו שורה נפרדת). לסיכום נאמר כי בשלב זה עליכם לזכור כי כל תכנית שלכם תיפתח בשורה: int,main() ותסתיים בשורה ; ().return מהותן המדויקת של פקודות אלה תובהר רק בהמשך פקודת הפלט cout השורה הרביעית בתכנית (; World" (std::cout >> "Hello כוללת את פקודת הפלט cout (הנהגית סי אאוט). הפקודה גורמת להצגת פלט רצוי על מסך המחשב. אחרי המילה cout מופיע זוג התווים >>. שימו לב לכיוונם (>> ו לא <<), וכן הקפידו להצמידם זה לזה בלא רווח בניהם (>> ולא < >). אחרי שני תווים אלה מופיע: World"."Hello לרצף של תווים המופיעים בין גרשיים אנו קוראים מחרוזת או סטרינג.(string) לפיכך גם: "xxx" וכן: "2X1" או: "@ %7 ללל יוסי!~ הן" מחרוזות. עת המחשב פוגש במחרוזת בפקודת פלט הוא פולט את המחרוזת כמות שהיא (ללא הגרשיים שתוחמים אותה) למסך. בסיומה של פקודת ה- cout מופיע התו נקודה פסיק (;). תו זה מורה למחשב כי הסת ימה פקודה יחידה. במקרה שלנו הסתימה פקודת הפלט, בהמשך נכיר פקודות אחרות שתסתיימנה גם הן בנקודה פסיק. שימו לב כי בסוף השורה main() int לא מופיעה נקודה פסיק שכן בשורה זאת לא מופיעה פקודה. חמשת התווים std:: המופיעים לפני המילה cout מורים לנו כי למעשה פקודת הפלט cout אינה חלק משפת ++C אלא הם חלק מ-'הספריה הסטנדרטית'. הספריה הסטנדרטית היא תוספות סטנדרטיות לשפה, אשר מגיעות יחד עם כל קומפיילר std) הוא קיצור של.(standard מבחינתנו העובדה ש- cout אינה חלק מהשפה אינה משמעותית, שכן בכל סביבת עבודה בה נוכל לעבוד ב- ++C, תמצא תמיד גם הספריה הסטנדרטית, ועל כן לנו יראה כאילו cout היא חלק משפת ++C; אולם כדי להדגיש כי cout היא למעשה חלק מספריה זאת נדרשת הכתיבה:. std::cout שימו לב כי בפקודת ה- cout כיוון החיצים הוא שמאלה: כביכול אנו 'מזרימים' את המידע אל הפלט, אל.cout בהמשך נכיר את פקודת הקלט, ובה כיוון החיצים יהיה הפוך שכן בה נזרים את המידע מהקלט אל התכנית. נניח שהתכנית שלנו היתה כוללת בנוסף לפקודה: ; World" std::cout >> "Hello פקודה נוספת, שהיתה מופיעה מיד אחרי פקודה זאת והיתה: ; "bye" std::cout << כיצד היה נראה הפלט שהיה מופיע על-גבי המסך? הפלט היה נראה כך:.Hello Worldbye כלומר המילים World ו- bye מוצגות זו אחר זו ללא רווח ביניהן. כדי להתגבר על תקלה זאת יכולנו לעשות אחד מכמה דברים: יכולנו להוסיף בתחילתו של הסטרינג הכולל את bye את התו רווח כך שהסטרינג היה נראה: bye" ". מבחינתו של המחשב רווח הוא תו ככל תו אחר, ועת הוא נכלל בסטרינג הוא מוצג על המסך כמו כל תו אחר. במקרה שלנו הצגת תו זה היתה גורמת להפרדה הרצויה (לרווח) בין המילים World ו-.bye לעומת זאת, לוּ רצינו 22

23 שהסטרינג bye יופיע בשורה חדשה, מתחת ל-,Hello World היה עלינו לנקוט בפתרון שונה: את הפקודה ; World" cout >> "Hello הינו משנים כך שהיא היתה נראית באופן הבא: ; std::endl cout << "Hello World" << נסביר: התווים >> שנוספו מורים שברצוננו לכלול מרכיב נוסף בפקודת הפלט, המילה endl) std::endl הוא קיצור של (end line מורה שבעקבות ביצוע פקודה זאת יש לעבור לשורה חדשה בפלט, כך שפלט נוסף, שיופיע בהמשך, יוצג בשורה חדשה. כלומר ל תוספת std::endl יש משמעות עבור פקודת הפלט הבאה (אם וכאשר זו תופיע). אתם רשאים לכלול בפקודת פלט מספר מרכיבי std::endl כפי רצונכם, כל מרכיב יגרום לקפיצת שורה בפלט. לדוגמה פקודת הפלט הבאה: std::cout << std::endl << "Hello" << std::endl << ; std::endl "World << std::endl << תבצע: הפקודה תקפוץ שורה בפלט לפני הצגת המילה,Hello תקפוץ שורה בפלט אחרי הצגת,Hello (ולכן המילה World תופיע מתחת ל- (Hello ותקפוץ שתי שורות בפלט אחרי הצגת,World רווח. כך שפקודת הפלט הבאה תופיע לא בשורה הבאה במסך אלא עם שורה כמובן שגם הכתיבה std::endl מציינת שהפקודה,endl הגורמת לקפיצת שורה, אינה חלק משפת ++C, אלא היא חלק מהתוספת הקרויה הספריה הסטנדרטית. ראינו כי עת תכניתנו כוללת כמה פקודות cout או כמה פקודות endl עלינו להקדים לכל פקודה את התחילית std::. יש בכך משהו מוגיע, אותו נשמח לחסוך לעצמנו. אציג שתי דרכים לעשות זאת: אחת ראויה, והשניה נפוצה אך מאוד לא מומלצת. הדרך הראשונה היא להוסיף לתכנית, בין שורת ה- #include לשורת ה- main() int שורות נוספות: using std::cout ; using std::endl ; בכך אנו מורים לקומפיילר כי בהמשך נשתמש בפקודות cout ו- endl הנכללות בספריה הסטנדרטית, ועליו להבין זאת. בגוף התכנית נכתוב: ; endl cout <<"hi" << endl << "bye" << כלומר כבר איננו מקדימים ל- cout ול- endl את התחילית std::. אדגיש כי עבור כל פקודה בספריה הסטנדרטית בה ברצוננו להשתמש עלינו להוסיף שורת using מעל שורת ה- main(). int (אך אל דאגה לא מדובר בכמות רבה מאוד של תוספות כאלה.) פתרון שני שיחסוך לנו את הכתיבה std:: לפני כל פקודה, אולם שנחשב ע"י המהדרין לקלוקל, ועל-כן לא לגיטימי בקורס זה, הוא לכתוב מעל ה- int main() את השורה הבודדת: std;. using namespace בכך אנו מורים לקומפיילר כי נשתמש באופן חופשי בכל הפקודות הנכללות בספריה הסטנדרטית (במילים אחרות במרחב השמות הסטנדרטי); לא נצהיר על כל אחת ואחת מהפקודות בנפרד, ועליו להבין זאת. לצערי, בדוגמות רבות שתפגשו בספרים או ברשת תמצאו צורת כתיבה זאת. הסיבה היא שנוח מאוד להשתמש בה, והיא חוסכת עבודה, אולם כאמור היא נחשבת למאוד לא רצויה. ברמת הסיסמות אומר שהיא נחשבת בגדר 'זיהום של מרחב השמות'. מכיוון שמשפט זה לא באמת יכול להיות מובן לנו בשלב זה של חיינו, אזי אנו נוותר בגדר ה-'נעשה ונשמע' (בעיקר כדי שלא נולקה ע"י בודק התרגילים): במקומותינו לא משתמשים בשורה: using std; namespace נקודה! 23

24 מי מכם שיראה תכניות ישנות יותר בשפת ++C ימצא בהן את הפקודה: #include <iostream.h> במקום את הפקודה: #include <iostream> זוהי צורת כתיבה ישנה יותר, שכיום אינה מקובלת. עת השתמשו בצורת הכתיבה הישנה גם לא נדרשה ההתעסקות עם std כפי שתוארה מעל: לא היה צורך לכלול בתכנית לא פקודות,using ולא לציין. std::cout אולם, כאמור, צורת כתיבה זאת כבר עברה מין העולם. פקודת הפלט cout קיימת רק ב- תוסבר כאן.,C++ בשפת C קיימת הפקודה printf אשר לא <iostream>) (#include שורה זאת שורת ה- #include נדון עתה בשורה הראשונה בתכנית: תשאר עבורכם לאורך קורס זה כמעין מנ ט רה שאתם כותבים בתחילת כל תכנית בלי להבין למה. את מהותה המדויקת של הפקודה תלמדו רק בהמשך. באופן כללי נאמר כי לולא כללנו שורה זאת בתכנית לא היה הקומפילר מכיר את פקודת ה- cout והיה צועק עלינו שאנו כוללים בתכנית פקודה שגויה. בשפת C (בניגוד ל- ++C) היינו, כאמור, משתמשים בפקודת הפלט,printf ולצורך השימוש בה היינו מבצעים include לא ל-,iostream אלא ל-.stdio.h פקודת ה- include הייתה נכתבת באופן זהה עימוד שימו לב כי את כל התכנית אנו כותבים באות קטנה.(lowercase) שפת C מ בחינה בין אותיות קטנות לגדולות, ולכן לו כתבנו MAIN() INT או main() Int ב מקום main() int זו היתה שגיאה. נושא נוסף עליו יש לתת את הדעת הוא העימוד (הזחה, אינדנטציה.(indentation שפת C מאפשרת לכם פורמט חופשי, כלומר אתם רשאים לכתוב את תכניתכם על הנייר\מסך באיזה מיקום שתחפצו, ולקומפיילר זה לא יפריע. לכן במקום לכתוב main() int יכולנו לכתוב: int main ( ) אולם עימוד שכזה עלול להקשות מאוד על מתכנת אחר שיקרא את תכניתכם וינסה להבינה. אחת המטרות המרכזיות בכתיבת תכנית היא לכתוב תכנית קריאה. במקרים רבים הדבר חשוב יותר משאלת יעילותה של התכנית. מוסכמות (קונבנציות) רבות עוזרות להגדיל את הקריאות של תכניות. הראשונה ביניהן היא העימוד. כללי העימוד מורים למשל שאת השורה main() int כותבים כפי שכתבנו ולא באופן החלופי שהצגנו. כללי העימוד גם מורים כי פקודות התכנית המופיעות בין ה- ל- תופענה בהזזה ימינה כך שנקל יהיה להבחין בסוגריים, ולשים לב אילו פקודות תחומות ביניהם. 24

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 שאלה )מועד א 2013( לפניך מספר הגדרות: תת מילה של המילה word הינה רצף של אותיות עוקבות של word פלינדרום באורך le היא מילה בעלת le אותיות שניתן לקרוא אותה משמאל לימין וגם מימין

More information

A R E Y O U R E A L L Y A W A K E?

A R E Y O U R E A L L Y A W A K E? A R E Y O U R E A L L Y A W A K E? ב ר ו ך א ת ה י י א לה ינ ו מ ל ך ה עו ל ם, ה מ ע ב יר ש נ ה מ ע ינ י ות נ ומ ה מ ע פ ע פ י Blessed are You, Hashem our God, King of the Universe, who removes sleep from

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק בול פגיעה שעור 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00045000 I.M 2ND 00039500

More information

THINKING ABOUT REST THE ORIGIN OF SHABBOS

THINKING ABOUT REST THE ORIGIN OF SHABBOS Exploring SHABBOS SHABBOS REST AND RETURN Shabbos has a multitude of components which provide meaning and purpose to our lives. We will try to figure out the goal of Shabbos, how to connect to it, and

More information

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ ניפוי שגיאות )Debug( מאת ישראל אברמוביץ בדף העבודה יש תירגול בסביבת העבודה לשפת #C לסביבות עבודה אחרות. )2015 )Visual Studio אך היא מתאימה גם לשפת Java וגם o 1. ריצה של כל התוכנית ועצירה בסוף יש לבחור

More information

ASP.Net MVC + Entity Framework Code First.

ASP.Net MVC + Entity Framework Code First. ASP.Net MVC + Entity Framework Code First 1 הקדמה בפרק הזה יוצג שימוש בFirst EntityFramework Code עבור ה use case הבאים : ASP.Net MVC ASP.Net Web API ASP.Net MVC + Scaffolding הערה : Framework Entity הוצג

More information

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת. 1 (Liquid Crystal Display) תצוגת LCD בפרויקט ישנה אפשרות לראות את כל הנתונים על גבי תצוגת ה- LCD באופן ברור ונוח. תצוגה זו היא בעלת 2 שורות של מידע בעלות 16 תווים כל אחת. המשתמש יכול לראות על גבי ה- LCD

More information

מבוא למחשב בשפת פייתון

מבוא למחשב בשפת פייתון 234221 מבוא למחשב בשפת פייתון 3 מבני בקרה ולולאות פרופ' ראובן בר-יהודה דין לייטרסדורף הפקולטה למדעי המחשב הטכניון מכון טכנולוגי לישראל נערך ע"י יעל ארז 1 פקודות והזחות 2 פקודה פשוטה >>> 3+2 5 >>> x = 5

More information

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of the rule. (Choose three cards appropriate to the lesson

More information

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES Sinning in Disguise Like people of all faiths, Jews sometimes do things or go to places they are not supposed to. This session is not about

More information

Patents Basics. Yehuda Binder. (For copies contact:

Patents Basics. Yehuda Binder. (For copies contact: Patents Basics Yehuda Binder (For copies contact: elissa@openu.ac.il) 1 Intellectual Property Value 2 Intellectual Property Rights Trademarks Copyrights Trade Secrets Patents 3 Trademarks Identify a source

More information

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names. Advisor Copy Before we begin, I would like to highlight a few points: Goal: 1. It is VERY IMPORTANT for you as an educator to put your effort in and prepare this session well. If you don t prepare, it

More information

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

שאלות חזרה לקראת מבחן מפמר אינטרנט וסייבר שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר שאלה.1 ייצוג מידע בטבלה שלפניכם מספרים בבסיס. כל מספר מיוצג ע"י 5 סיביות. 10011 = 01100 = 00111 = 11000 = 11010 = 00101 = 10000 = 01111 = ד. יש להשלים את הערך

More information

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk מכונת מצבים סופית תרגול מס' 4 1 מכונת מצבים סופית Finite State Machine (FSM) מודל למערכת ספרתית מכונת מצבים סופית: קלט: סדרה אינסופית של אותיות...,I3,I1,I2 בא"ב input out פלט: סדרה אינסופית של אותיות O

More information

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית. בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. א. משך הבחינה: שעה ורבע מועד הבחינה: חורף תשס"ז, 2007 מספר השאלון: 406 016107, א נ ג ל י

More information

המבנה הגאומטרי של מידה

המבנה הגאומטרי של מידה התוכנה מאפשרת לרשום מידות מסוגים שונים בסרטוט, במגוון סגנונות ובהתאם לתקנים המקובלים. רצוי לבצע מתן מידות בשכבה המיועדת לכך. לכל מידה יש תכונות של בלוק. תהליך מתן המידות מתחיל תמיד מקביעת סגנון המידות.

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 Translated from the Hebrew Sharf Translations Message sent From: Tomer Shohat

More information

בוחן בתכנות בשפת C בצלחה

בוחן בתכנות בשפת C בצלחה בוחן בתכנות בשפת C ) כתוב תכנית הקולטת ממשתמש מספרים שלמים ומדפיסה כמה מספרים היו גדולים מ-, כמה מספרים היו קטנים מ-, וכמה מספרים היו שווים ל-. 2) כתוב תכנית הקלטת עשרה מספרים טבעיים ומחשבת את הממוצע שלהם.

More information

שאלון ו' הוראות לנבחן

שאלון ו' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ו, מועד ב מספר השאלון: 406 016107, י ת ל ג נ א שאלון ו' )MODULE F( הוראות לנבחן א. משך הבחינה:

More information

שאלון ד' הוראות לנבחן

שאלון ד' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ה, מועד ב מספר השאלון: 404 016105, י ת ל ג נ א שאלון ד' )MODULE D( הוראות לנבחן א. משך הבחינה:

More information

שאלון ו' הוראות לנבחן

שאלון ו' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ה, מועד ב מספר השאלון: 406 016107, י ת ל ג נ א שאלון ו' )MODULE F( הוראות לנבחן א. משך הבחינה:

More information

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. סריקה לרוחב פרק 3 ב- Kleinberg/Tardos קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. קשירות.s,t V שני צמתים,G=(V,E) קלט:

More information

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית נושאים: מערכים, רשימות מרצה ומתרגלים אחראים: איתן בכמט, איסנה וקסלר, רז ניסים תאריך פרסום: 11.21 תאריך הגשה:

More information

Practical Session No. 13 Amortized Analysis, Union/Find

Practical Session No. 13 Amortized Analysis, Union/Find Practical Session No. 13 Amortized Analysis, Union/Find Amortized Analysis Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

(MODULE E) ב ה צ ל ח ה!

(MODULE E) ב ה צ ל ח ה! סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה מועד הבחינה: קיץ תשס"ד, 2004 מספר השאלון: 016106 י ת ל ג נ א שאלון ה' (MODULE E) הוראות לנבחן א. משך הבחינה: שעה ורבע בשאלון זה שני פרקים.

More information

A Long Line for a Shorter Wait at the Supermarket

A Long Line for a Shorter Wait at the Supermarket A Long Line for a Shorter Wait at the Supermarket - New York Times Page 1 of 4 A Long Line for a Shorter Wait at the Supermarket Sam Baris directing customers at Whole Foods in Columbus Circle, where the

More information

אנגלית (MODULE E) בהצלחה!

אנגלית (MODULE E) בהצלחה! 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016481 מספר השאלון: א. משך הבחינה: שעה ורבע אנגלית שאלון ה' (MODULE E) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה: בשאלון זה

More information

NATIONAL COUNCIL OF YOUNG ISRAEL. Shavuot Nation JEWISH EDITION. Compiled by Gabi Weinberg Teen Program Director

NATIONAL COUNCIL OF YOUNG ISRAEL. Shavuot Nation JEWISH EDITION. Compiled by Gabi Weinberg Teen Program Director NATIONAL COUNCIL OF YOUNG ISRAEL Shavuot Nation JEWISH EDITION Compiled by Gabi Weinberg Teen Program Director Just Dress? Or is Tzniut something more? By Jacob and Penina Bernstein, Youth Directors at

More information

כ"ג אלול תשע"ו - 26 ספטמבר, 2016 Skills Worksheet #2

כג אלול תשעו - 26 ספטמבר, 2016 Skills Worksheet #2 קריאה #1: Skill בראשית פרק כג #2 Chumash Skills Sheet Assignment: Each member of your חברותא should practice reading the פרק to each other. Make sure you are paying attention to each other, noticing and

More information

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה! בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. חורף תשס"ח, 2008 מועד הבחינה: מספר השאלון: 402 016103, א. משך הבחינה: שעה ורבע א נ ג ל י

More information

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי( בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"א, 2011 מועד הבחינה: משרד החינוך 016117 מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת א. משך הבחינה: שעה וחצי שאלון

More information

Reflection Session: Sustainability and Me

Reflection Session: Sustainability and Me Goals: Participants will: identify needs in their home communities apply their sustainability learning to the conditions of their home communities design a sustainable project idea and evaluate the ideas

More information

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך מקום להדבקת מדבקת נבחן סוג בחינה: מועד הבחינה: מספר השאלון: מבחן מטה לבתי ספר תיכוניים חורף תשע"ד 29.01.2014 מותאם לשאלון ב' של בחינת הבגרות שסמלו 016103 א

More information

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G) 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016582 מספר השאלון: א. משך הבחינה: שעה וארבעים וחמש דקות אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה:

More information

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א' תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך מקום להדבקת מדבקת נבחן א נ ג ל י ת סוג בחינה: מועד הבחינה: מספר השאלון: מבחן מטה לבתי ספר תיכוניים חורף תשע"ד 29.01.2014 מותאם לשאלון א' של בחינת הבגרות שסמלו

More information

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה! בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. תשס"ז, מועד ב מועד הבחינה: מספר השאלון: 402 016103, א. משך הבחינה: שעה ורבע א נ ג ל י ת

More information

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור קארדינטת קטבית y p p p במישר,y הגדרנ נקדה על ידי המרחקים מהצירים. ז מערכת ישרת זית )קרטזית( אשר בה יש לנ צירים מאנכים זה לזה. באת מישר ניתן להגדיר נקדה על ידי זית רדיס קטר. (, ) הרדיס קטר מסתבב )נגד כין

More information

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי WPF-Windows Presentation Foundation Windows WPF טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי Client חכמים המשלב ממשקי משתמש,תקשורת ומסמכים. מטרת התרגיל : ביצוע אנימציה לאליפסה ברגע

More information

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of Name Page 1 of 6 ***Place an X if Closed גמרא (if no indication, we ll assume Open חזרה (גמרא of the :דף times.בל 'נ marked, using the contact info above by Sunday, December 25, 2016 and we ll send it

More information

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

ANNEXURE E1-1 FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) Dear Sirs, Re: Standby Letter of Credit No: Please advise the

More information

Interrogatives. Interrogative pronouns and adverbs are words that are used to introduce questions. They are not inflected for gender or number.

Interrogatives. Interrogative pronouns and adverbs are words that are used to introduce questions. They are not inflected for gender or number. 1 Interrogative pronouns and adverbs are words that are used to introduce questions. They are not inflected for gender or number. 2 As a result of their nature, interrogatives indicate direct speech. Because

More information

Name Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of

Name Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of Name Page 1 of 5 ***Place an X if Closed גמרא (if no indication, we ll assume Open חרה (גמרא of the :דף times Please email or fax your completed בחינה using the contact info above by Sunday, December 4,

More information

SHABBAT UNPLUGGING & RECONNECTING

SHABBAT UNPLUGGING & RECONNECTING SHABBAT UNPLUGGING & RECONNECTING Setting the Stage The Senator and the Sabbath: Joe Lieberman on his Relationship With Sabbath It s Friday night, raining one of those torrential downpours that we get

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק טקסט שעור 3 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDI 15 1S 00079000 G. 2ND 00079000 S.G 3RD

More information

Global Day of Jewish Learning

Global Day of Jewish Learning Global Day of Jewish Learning Curriculum Under the Same Sky: The Earth is Full of Your Creations www.theglobalday.org A Project of the Aleph Society Title facilitator s guide The Power of Planting: Appreciating

More information

ב "ה. ABC s of Judaism. Fundamentals of Jewish Thought and Practice. June 2007 Tammuz 5767 Jewish Educational Institute Chabad Brisbane

ב ה. ABC s of Judaism. Fundamentals of Jewish Thought and Practice. June 2007 Tammuz 5767 Jewish Educational Institute Chabad Brisbane ב "ה ABC s of Judaism Fundamentals of Jewish Thought and Practice June 2007 Tammuz 5767 Jewish Educational Institute Chabad Brisbane ABC s of Judaism Fundamentals of Jewish Thought and Practice What we

More information

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: שאלה 1 עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: 99 80 50 15 40 34 30 22 10 13 20 13 9 8 א. ב. ג. האם העץ

More information

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך מדינת ישראל משרד החינוך מינהל חברה ונוער מבחן באנגלית שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: מנהל מרכז השכלה: שם: שם מרכז ההשכלה /מוסד : ציון: תאריך בדיקת המבחן: כולה שהמערכת מוסרית, ומוסרית ערכית רואים

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 McLaughlin, Terence K. From: Sent: To: Cc: Subject: Follow Up Flag: Flag Status:

More information

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary בגרות סוג הבחינה: מדינת ישראל קיץ תשע"ז, 2017, מועד ב מועד הבחינה: משרד החינוך 403 016104, מספר השאלון: אנגלית שאלון ג' (MODULE C) ג רסה א' הוראות לנבחן א. משך הבחינה: שעה וחצי ב. מבנה השאלון ומפתח ההערכה:

More information

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי )

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי ) בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. חורף תשע"ג, 2013 מועד הבחינה: 407 016108, מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית

More information

מושגים בסיסיים תלמידים והורים יקרים,

מושגים בסיסיים תלמידים והורים יקרים, אחוזים מושגים בסיסיים תלמידים והורים יקרים, לפניכם קובץ ובו מושגים בסיסיים בשאלות אחוזים. הקובץ מכיל 12 מושגים. רצוי לעבור על חומר הלימוד לפני המעבר על המבחנים. ניתן להדפיס קובץ זה כדי שיהיה לפני התלמיד/ה

More information

eriktology The Writings Book of Ecclesiastes [1]

eriktology The Writings Book of Ecclesiastes [1] eriktology The Writings Book of Ecclesiastes [1] [2] FOREWORD It should be noted when using this workbook, that we ( Eric, Lee, James, and a host of enthusiastic encouragers ) are not making a statement

More information

Global Day of Jewish Learning

Global Day of Jewish Learning Global Day of Jewish Learning Curriculum Under the Same Sky: The Earth is Full of Your Creations www.theglobalday.org A Project of the Aleph Society Title facilitator s guide Planting for the Future Written

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. קיץ תשע"ד, מועד ב, 2014 מועד הבחינה: מספר השאלון: 416 016117, Thinking Skills נספח: כישורי

More information

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

סהכ נקודות סהכ 31 נקודות סהכ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט מבחן 0220 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון 5

More information

SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD

SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD Anatomy ofa l eader: them oshestory SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD FOR LESSONS IN LEADERSHIP ש מ ות EXODUS CHAPTER 2 א ו י ל ך א י ש, מ ב ית ל ו י; ו י ק ח, א ת-ב ת-ל

More information

זה. Nir Adar

זה. Nir Adar גירסה 28.4.2003-1.00 האסמבלי של 8086 חלק שני מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך,

More information

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative Hebrew Ulpan HEB 011-031 Young Judaea Year Course in Israel American Jewish University College Initiative Course Description Hebrew is not only the Sacred Language of the Jewish people, but it is also

More information

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015 1 U n t er r ich t splan חיבור וחיסור זוויות :Altersgruppe כיתה ד, כיתה ה :Online-Ressourcen מכל זווית אפשרית פתיחה הצגת המשחק תלמידים משחקים סיום 1 min 20 min 1 2 min 1 2 min מטרות לימודיות להתנסות במודל

More information

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. קיץ תשע"ד, מועד ב, 2014 מועד הבחינה: מספר השאלון: 414 016115, Thinking Skills נספח: כישורי

More information

Bereshit / Exodus 18:1-20:23, Isaiah 6:1-7:6, 9:5-6, Matthew 6:1-8:1. Parashat Yitro

Bereshit / Exodus 18:1-20:23, Isaiah 6:1-7:6, 9:5-6, Matthew 6:1-8:1. Parashat Yitro Bereshit / Exodus 18:1-20:23, Isaiah 6:1-7:6, 9:5-6, Matthew 6:1-8:1 Hearing from God Parashat Yitro This weeks reading is from Parashat Yitro (Shemot / Exodus 18:1-20:23), the Scriptures tell us Yitro

More information

תרגול 8. Hash Tables

תרגול 8. Hash Tables תרגול Hash Tables ds-ps חידה מהשיעור הקודם בכל השקים המטבעות שוקלים ורק בשק אחד המטבעות שוקלים.. מותר לנו לבצע שקילה אחת בלבד! איך נדע מה השק הקל יותר? שקים עם מטבעות ds-ps מה היה לנו דיברנו על מבני נתונים

More information

חוק זכויות הסוכן חוק חוזה סוכנות )סוכן מסחרי וספק(

חוק זכויות הסוכן חוק חוזה סוכנות )סוכן מסחרי וספק( חוק זכויות הסוכן חוק חוזה סוכנות )סוכן מסחרי וספק( התשע"ב - 2012 חברות וחברי לשכה יקרים, אני שמח להגיש לכם חוברת זו בה תמצאו את חוק זכויות הסוכן בנוסחו המקורי ואת תרגומו לאנגלית על ידי עו"ד שוש רבינוביץ,

More information

מדריך לתכנת הגימפ Gimp) (The חלק מהמידע במדריך זה מובא מהקישור- http://www.jlc.org.il/forums/viewtopic.php?p=900&sid=d801ea3d13f7ae97549e28a56a4ce0cb GIMP היאתכנה חופשיתרבתאפשרויותבתחום הגראפיקהועריכתהתמונות,

More information

מבוא לאסמבלי מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר "ארגון המחשב ושפת סף" אשר נכתב ע"י ברק גונן לתוכנית גבהים של משרד החינוך.

מבוא לאסמבלי מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר ארגון המחשב ושפת סף אשר נכתב עי ברק גונן לתוכנית גבהים של משרד החינוך. מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר "ארגון המחשב ושפת סף" אשר נכתב ע"י ברק גונן לתוכנית גבהים של משרד החינוך. הקדמה בסדרת המאמרים הקרובה, אנחנו הולכים ללמוד על השפה אסמבלי, על השימוש בה

More information

Chofshi.

Chofshi. Chofshi Chofshi For most Western democracies, the concept of freedom is central. One just needs to look at the anthems that inspire its citizenry to capture this point. From America s Star Spangled Banner,

More information

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד רשתות מחשבים עומר רוזנבוים 1 DNS פרק 4 ג' שכבת האפליקציה, פרוטוקול ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים מאת 1 בסיום הפרק נדע: מה תפקיד פרוטוקול?DNS לשם מה צריך?DNS מהי ההיררכיה של כתובות דפי האינטרנט? מהו,TLD

More information

התכנית הראשונה שלי

התכנית הראשונה שלי 2-1 מבנה התכנית התכנית הראשונה שלי מחלקה מגדירה עצם. עצמים מתקשרים ביניהם באמצעות תכנית מ נ ח ה. בפרקים הבאים נכיר תחילה את המנחה ואת הוראות השפה, ובהמשך נלמד לשלב גם עצמים. לפניך תכנית בשפת.Java התכנית

More information

מבוא לשפת C מבוא לשפת סי - תירגול 1

מבוא לשפת C מבוא לשפת סי - תירגול 1 מבוא לשפת C תירגול 1: מבוא 1 אתר הקורס webcourse.cs.technion.ac.il/234112 חדשות הקורס תרגילי בית הרצאות ותירגולים חומר עזר, מבחנים קודמים, שאלות נפוצות, ועוד... 2 אתר הקורס 3 רשימת תפוצה חובה להירשם! הודעות

More information

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

ãówh,é ËÓÉÔê ÌW W É Å t Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH * .1.2.3 (X).1.2.3.4.5.6 בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל חורף תשע"ג, 2013 מועד הבחינה: משרד החינוך מספר השאלון: 016117 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון

More information

Structural Vs. Nominal Typing

Structural Vs. Nominal Typing שפות תכנות 234319 פרופ' יוסי גיל הפקולטה למדעי המחשב, הטכניון מכון טכנולוגי לישראל קיץ 2013 הרצאה מס' 6: טיפוסיות שמית ומבנית רשמה: איריס קלקה kalka.iris@gmail.com בשלב זה בקורס אנו עוסקים בתורת הטיפוסים.

More information

eriktology Torah Workbook Bereshiyt / Genesis [1]

eriktology Torah Workbook Bereshiyt / Genesis [1] eriktology Torah Workbook Bereshiyt / Genesis [1] [2] [3] FOREWORD It should be noted when using this workbook, that we ( Eric, Lee, James, and a host of enthusiastic encouragers ) are not making a statement

More information

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב בינה מלאכותית ומהפיכת הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב מעבדות -אתמול ד"ר קובי גל מעבדות -היום ד"ר קובי גל למידה בקבוצות -אתמול ד"ר קובי גל למידה בקבוצות -היום ד"ר קובי גל הזדמנות

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ב, מועד ב מועד הבחינה: משרד החינוך מספר השאלון: 016117 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א. משך הבחינה: שעה וחצי אנגלית שאלון

More information

Chapter 11 (Hebrew Numbers) Goals

Chapter 11 (Hebrew Numbers) Goals Chapter 11 (Hebrew Numbers) Goals 11-1 Goal: When you encounter a number in a text, to be able to figure it out with the help of a lexicon. Symbols in the apparatus Ordinal Numbers written out in the text

More information

JUDAISM AND INDIVIDUALITY

JUDAISM AND INDIVIDUALITY JUDAISM AND INDIVIDUALITY Setting the Stage Self Reliance by Ralph Waldo Emerson There is a time in every man s education when he arrives at the conviction that envy is ignorance; that imitation is suicide;

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ג, 2013 מועד הבחינה: משרד החינוך מספר השאלון: 016115 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון ד' (MODULE D) א. משך הבחינה:

More information

Global Day of Jewish Learning

Global Day of Jewish Learning Global Day of Jewish Learning Curriculum Under the Same Sky: The Earth is Full of Your Creations www.theglobalday.org A Project of the Aleph Society Title facilitator s guide Loving the Trees (Elementary

More information

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו פרק 7 פקודות אריתמטיות, לוגיות והזזה ברק גונן 1 תוכן הפרק פקודות אריתמטיות ADD, INC SUB, DEC MUL DIV פקודות לוגיות AND OR XOR NOT פקודות הזזה SHL SHR ברק גונן 2 פקודת ADD מחברת את אופרנד המקור עם אופרנד

More information

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx 1 ברק גונן עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx לעיתים נרצה שהתוכנית תבצע פקודות רק אם מתקיים תנאי מוגדר

More information

Eight Lights Eight Writes

Eight Lights Eight Writes Background for the Teacher This collection of eight poems for use on Hanukkah is for teens and adults. None of these, save one, were written with Hanukkah in mind; however, all use images of light. Additionally,

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ב, מועד ב מועד הבחינה: משרד החינוך מספר השאלון: 016115 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון ד' (MODULE D) א. משך הבחינה:

More information

Theories of Justice

Theories of Justice Syllabus Theories of Justice - 56981 Last update 06-08-2014 HU Credits: 2 Degree/Cycle: 1st degree (Bachelor) Responsible Department: political Science Academic year: 2 Semester: 2nd Semester Teaching

More information

Extraordinary Passages:

Extraordinary Passages: Extraordinary Passages: Texts and Travels Global Day of Jewish Learning: Curriculum www.theglobalday.org A Project of the Aleph Society Title facilitator s guide On A Journey With Jonah (Middle School)

More information

Parallel Processing. Administration. Dr. Guy Tel-Zur.

Parallel Processing. Administration. Dr. Guy Tel-Zur. Parallel Processing Administration Dr. Guy Tel-Zur guycomputing@gmail.com Introduction to Parallel Processing October 2005, Lecture #1 The Road to Parallel Processing Credit: National Geographic. BEST

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ב, 2012 מועד הבחינה: משרד החינוך מספר השאלון: 016115 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון ד' (MODULE D) א. משך הבחינה:

More information

פיזיקה של נהיגה מדריך למורה

פיזיקה של נהיגה מדריך למורה פיזיקה מערכות טכנולוגיות פיזיקה של נהיגה מדריך למורה כל הזכויות שמורות למורן הוצאה לאור אין לצלם או לשכפל מהספר 1 על תוכנית הלימודים פיזיקה של מערכות טכנולוגיות מבוא ההיבט הטכנולוגי של כל נושא פיזיקלי.

More information

F E E T O N G R O U N D, HEAD I N T H E C L O U D S

F E E T O N G R O U N D, HEAD I N T H E C L O U D S F E E T O N G R O U N D, HEAD I N T H E C L O U D S ב ר ו ך א ת ה י י א לה ינ ו מ ל ך ה עו ל ם, רו ק ע ה א ר ץ ע ל ה מ י ם Blessed are you Hashem our God, King of the universe, who spreads the earth upon

More information

L fi-kach Nivrah Adam Yehidi! That is why Adam was created all alone!

L fi-kach Nivrah Adam Yehidi! That is why Adam was created all alone! L fi-kach Nivrah Adam Yehidi! That is why Adam was created all alone! 1. Genesis 1:24-27 ו י אמ ר א לה ים, ת וצ א ה אר ץ נ פ ש כד ח י ה ל מ ינ ה, ב ה מ ה ו ר מ ש ו ח י ת ו-א ר ץ,. ל מ ינ ה; ו י ה י-כ ן,ו

More information

מבוא לשפת C תירגול 1: מבוא מבוא לשפת סי - תירגול 1

מבוא לשפת C תירגול 1: מבוא מבוא לשפת סי - תירגול 1 מבוא לשפת C תירגול 1: מבוא 1 אתר הקורס webcourse.cs.technion.ac.il/234112 חדשות הקורס תרגילי בית הרצאות ותירגולים חומר עזר, מבחנים קודמים, שאלות נפוצות, ועוד... 2 אתר הקורס 3 רשימת תפוצה חובה להירשם! הודעות

More information

נילי חמני

נילי חמני מבנה שריר שלד (מקרוסקופי) עטוף ברקמת חיבור (אפימזיום) מחולקלצרורותתאישרירשכלאחדמהםעטוף ברקמתחיבורנוספת (פרימזיום) (תא) שרירעטוףברקמתחיבורמשלו כלסיב (אנדומזיום) לרקמות החיבור בשריר תפקיד חשוב ביצירת המבנה

More information

Parashat Balak. Sharon Rimon

Parashat Balak. Sharon Rimon Parashat Balak Sharon Rimon ~ 2 ~ An Angel of God With Its Sword Drawn Why does God agree to Balaam s request to join Balak s ministers after previously forbidding it? Why does God become angry at Balaam

More information

Apple, keys, pen, pencils, pencilbox,(toy)elephant,( toy) boy, (toy) girl, ball

Apple, keys, pen, pencils, pencilbox,(toy)elephant,( toy) boy, (toy) girl, ball PRONOUNS: טריגר/ משחק פתיחה- המורה תביא לכיתה חפצים שונים ותראה אותם לכמה שניות לתלמידים ותכסה את החפצים. המורה תבקש מהתלמידים לשחזר את החפצים על פי זיכרון ותרשום את שמם על הלוח )מה שלא זכרו אח"כ המורה

More information

Hebrew Adjectives. Hebrew Adjectives fall into 3 categories: Attributive Predicative Substantive

Hebrew Adjectives. Hebrew Adjectives fall into 3 categories: Attributive Predicative Substantive 1 Hebrew Adjectives fall into 3 categories: Attributive Predicative Substantive 2 Attributive Adjectives: Modify a noun; Agree in gender, number, and definiteness with the noun; Follow the noun they modify.

More information

BEING A VISIONARY JOLT LEADERSHIP PROGRAM 2014

BEING A VISIONARY JOLT LEADERSHIP PROGRAM 2014 BEING A VISIONARY JOLT LEADERSHIP PROGRAM 2014 V I S I O N A R Y The Importance of Vision by Tony Mayo W hen he launched the USA Today national newspaper 25 ago, Allen Neuharth, the CEO of Gannett Company

More information

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ תור,מחסנית פולינה לוצקר וערימה מבני נתונים ואלגוריתמים מנהלות מרצה הקורס: פרופסור יורם לוזון פולינה מתרגלת: לוצקר אימייל: polinalutbiu@gmail.com, שעות קבלה: 13:00-15:00 יום שני בתיאום מראש. אתר הקורס:

More information

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. חורף תשע"ג, 2013 מועד הבחינה: 403 016104, מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית

More information

טו: and ends on the bottom of

טו: and ends on the bottom of Name Page 1 of 5 ***Place an X if Closed גמרא (if no indication, we ll assume Open חזרה (גמרא of the :דף times.בל 'נ marked, using the contact info above by Sunday, January 29, 2017 and we ll send it back

More information

במבוא מורחב למדעי המחשב בשפת פייתון

במבוא מורחב למדעי המחשב בשפת פייתון עמוד 1 מתוך 11 בחינה במבוא מורחב למדעי המחשב בשפת פייתון 8630.0081.80 סמסטר ב', מועד ב',תשע"ב 12/08/2012 אוהד ברזילי, אמיר רובינשטיין הוראות )נא לקרוא!( משך הבחינה שלוש שעות, חלקו את זמנכם ביעילות. בבחינה

More information